摘要: 1.READ UNCIMMITTED(未提交读) 事务中的修改,即使没有提交,其他事务也可以看得到,比如说上面的两步这种现象就叫做脏读,这种隔离级别会引起很多问题,如无必要,不要随便使用 例子:还是售票系统,小明和小花是售票员,他们分别是两个不同窗口的员工,现在售票系统只剩下3张票,此时A来小华这里 阅读全文
posted @ 2017-12-25 15:52 极客船长 阅读(2984) 评论(0) 推荐(0) 编辑
摘要: 前言 在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下,存储引擎?什么是存储引擎? 什么是存储引擎? 关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel 阅读全文
posted @ 2017-12-25 15:42 极客船长 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 事务并发产生的问题: 脏读:一个事务读取到了另外一个事务没有提交的数据 事务1:更新一条数据 >事务2:读取事务1更新的记录 事务1:调用commit进行提交 ***此时事务2读取到的数据是保存在数据库内存中的数据,称为脏读。 ***读到的数据为脏数据 详细解释: 脏读就是指:当一个事务正在访问数据 阅读全文
posted @ 2017-12-25 15:40 极客船长 阅读(5839) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h> #include<string.h> #include<malloc.h> #define and && #define or || #define not ! #define Int(X) (X - '0') #define Char(X) (X + '0') 阅读全文
posted @ 2017-12-25 15:32 极客船长 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 大数相加不能直接使用基本的int类型,因为int可以表示的整数有限,不能满足大数的要求。可以使用字符串来表示大数,模拟大数相加的过程。 思路:1.反转两个字符串,便于从低位到高位相加和最高位的进位导致和的位数增加; 2.对齐两个字符串,即短字符串的高位用‘0’补齐,便于后面的相加; 3.把两个正整数 阅读全文
posted @ 2017-12-25 15:28 极客船长 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: 公式:a=[n/5]+[n/5^2]+[n/5^3]+[n/5^4]+…… 其中[x]读作高斯x,表示不大于x的最大整数 比如[1.2]=1,[3]=3,[-1.2]=-2 此处n=100 a=[100/5]+[100/5^2]+[100/5^3]+[100/5^4]+…… =20+4+0+0+…… 阅读全文
posted @ 2017-12-25 15:25 极客船长 阅读(905) 评论(0) 推荐(1) 编辑
摘要: 利用堆来合并,( O(N) + O(log N * N )) * M。 先利用最链表第一个数,N个数建立堆,复杂度 O (N) 重构堆,并排序,复杂度 O(logN * N ) 每个链表M个数,上述两步重复M次。结果为 M * (O(N) + O(logN * N))= O (M * N * log 阅读全文
posted @ 2017-12-25 15:15 极客船长 阅读(2883) 评论(0) 推荐(0) 编辑
摘要: 空间复杂度O(N),时间复杂度O(m+n),m、n为两个有序子数组的长度 //将有二个有序数列a[first...mid]和a[mid...last]合并。void mergearray(int a[], int first, int mid, int last, int temp[]){ int 阅读全文
posted @ 2017-12-25 15:11 极客船长 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 1.什么是GC GC(GarbageCollection)是垃圾回收机制,在Java中开发人员无法使用指针来自由的管理内存,GC是JVM对内存(实际上就是对象)进行管理的方式。GC使得Java开发人员摆脱了繁琐的内存管理工作,让程序的开发更有效率。 2. GC基本原理 Java的内存管理实际上就是对 阅读全文
posted @ 2017-12-25 15:07 极客船长 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 1、java中的内存被分成以下四部分: ①、代码区 ②、栈区 ③、堆区 ④、静态区域 3、堆区:一般由程序员分配释放,存放new分配的对象和数组,JVM不定时查看这个对象,如果没有引用指向这个对象就回收 4、静态区:存放全局变量、静态变量和字符串常量,不释放 5、代码区:存放程序中方法的二进制代码, 阅读全文
posted @ 2017-12-25 15:06 极客船长 阅读(2576) 评论(0) 推荐(0) 编辑
摘要: } public static void main(String[] args) { // 同时启动1000个线程,去进行i++计算,看看实际结果 for (int i = 0; i < 1000; i++) { new Thread(new Runnable() { public void run 阅读全文
posted @ 2017-12-25 14:58 极客船长 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: 【思路】创建一个数组change[ 24*3600 ]用来记录一天中,每秒用户的变化情况,在第i秒上线一人change[ i ]++,在第i秒下线一人change[ i ] - -,change[ i ]若为正,说明这一秒上线人数大于下线人数,反之亦然。再创建一个online[ 24*3600 ], 阅读全文
posted @ 2017-12-25 14:54 极客船长 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 素数筛法是这样的: 1.开一个大的bool型数组prime[],大小就是n+1就可以了.先把所有的下标为奇数的标为true,下标为偶数的标为false. 2.然后: for( i=3; i<=sqrt(n); i+=2 ) { if(prime[i]) for( j=i+i; j<=n; j+=i 阅读全文
posted @ 2017-12-25 14:50 极客船长 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 1)直观判断法 最直观的方法,根据定义,因为质数除了1和本身之外没有其他约数,所以判断n是否为质数,根据定义直接判断从2到n-1是否存在n的约数即可。C++代码如下:[cpp] view plain copybool isPrime_1( int num ) { int tmp =num- 1; f 阅读全文
posted @ 2017-12-25 14:48 极客船长 阅读(485) 评论(0) 推荐(0) 编辑