12 2017 档案
摘要:1.READ UNCIMMITTED(未提交读) 事务中的修改,即使没有提交,其他事务也可以看得到,比如说上面的两步这种现象就叫做脏读,这种隔离级别会引起很多问题,如无必要,不要随便使用 例子:还是售票系统,小明和小花是售票员,他们分别是两个不同窗口的员工,现在售票系统只剩下3张票,此时A来小华这里
阅读全文
摘要:前言 在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下,存储引擎?什么是存储引擎? 什么是存储引擎? 关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel
阅读全文
摘要:事务并发产生的问题: 脏读:一个事务读取到了另外一个事务没有提交的数据 事务1:更新一条数据 >事务2:读取事务1更新的记录 事务1:调用commit进行提交 ***此时事务2读取到的数据是保存在数据库内存中的数据,称为脏读。 ***读到的数据为脏数据 详细解释: 脏读就是指:当一个事务正在访问数据
阅读全文
摘要:#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')
阅读全文
摘要:大数相加不能直接使用基本的int类型,因为int可以表示的整数有限,不能满足大数的要求。可以使用字符串来表示大数,模拟大数相加的过程。 思路:1.反转两个字符串,便于从低位到高位相加和最高位的进位导致和的位数增加; 2.对齐两个字符串,即短字符串的高位用‘0’补齐,便于后面的相加; 3.把两个正整数
阅读全文
摘要:公式: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+……
阅读全文
摘要:利用堆来合并,( 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
阅读全文
摘要:空间复杂度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
阅读全文
摘要:1.什么是GC GC(GarbageCollection)是垃圾回收机制,在Java中开发人员无法使用指针来自由的管理内存,GC是JVM对内存(实际上就是对象)进行管理的方式。GC使得Java开发人员摆脱了繁琐的内存管理工作,让程序的开发更有效率。 2. GC基本原理 Java的内存管理实际上就是对
阅读全文
摘要:1、java中的内存被分成以下四部分: ①、代码区 ②、栈区 ③、堆区 ④、静态区域 3、堆区:一般由程序员分配释放,存放new分配的对象和数组,JVM不定时查看这个对象,如果没有引用指向这个对象就回收 4、静态区:存放全局变量、静态变量和字符串常量,不释放 5、代码区:存放程序中方法的二进制代码,
阅读全文
摘要:} public static void main(String[] args) { // 同时启动1000个线程,去进行i++计算,看看实际结果 for (int i = 0; i < 1000; i++) { new Thread(new Runnable() { public void run
阅读全文
摘要:【思路】创建一个数组change[ 24*3600 ]用来记录一天中,每秒用户的变化情况,在第i秒上线一人change[ i ]++,在第i秒下线一人change[ i ] - -,change[ i ]若为正,说明这一秒上线人数大于下线人数,反之亦然。再创建一个online[ 24*3600 ],
阅读全文
摘要:素数筛法是这样的: 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
阅读全文
摘要:1)直观判断法 最直观的方法,根据定义,因为质数除了1和本身之外没有其他约数,所以判断n是否为质数,根据定义直接判断从2到n-1是否存在n的约数即可。C++代码如下:[cpp] view plain copybool isPrime_1( int num ) { int tmp =num- 1; f
阅读全文
摘要:1. 什么是loop设备? loop设备是一种伪设备,是使用文件来模拟块设备的一种技术,文件模拟成块设备后, 就像一个磁盘或光盘一样使用。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文
阅读全文
摘要:1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i<MAXTIME){.........} 编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。 这样的定义看起来类似于普通的常量定义CON
阅读全文
摘要:自定义函数: 宏函数 (1)函数式宏定义的参数没有类型,预处理器只负责做形式上的替换,而不做参数类型检查,所以危险性高;但因为省去了函数的调用,返回,释放,所以效率比自定义函数高; (2)调用真正函数的代码和调用函数式宏定义的代码编译生成的指令不同。 如果MAX是个普通函数,那么它的函数体retur
阅读全文
摘要:百度百科是这样定义的:头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。 .c就是你写的程序文件。 其实我一开始对头文件的理解和库差不多,比如我在程序前面加上了math.h这个头文件,
阅读全文