07 2017 档案
摘要:GC的基本原理 GC是什么?为什么要有GC呢? GC是垃圾收集的意思(GarbageCollection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提
阅读全文
摘要:1. String的创建 请问以上程序执行结果是什么? 第一句执行后内存中有两个 对象,而不是一个。一个由new String("abc")中的"abc"在String Pool里生成一个值为"abc"的对象;第二个由new在堆里产生一个值为"abc"的对象,该对象完全是String Pool里的"
阅读全文
摘要:1. 原码: 原码是指将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。 例如:数字6 在计算机中原码表示为:0 000 0110 其中,第一个数字0是符号位,0表示正数,0 000110是数字6的二进制数据表示。 数字-6 在计算机中原码表示为:1 000 0
阅读全文
摘要:转载自http://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html 分析一下常见的排序算法的稳定性,每个都给出简单的理由。 1. 冒泡排序 冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生
阅读全文
摘要:排序思想: 先将序列分成较多个子序列分别进行排序,再分成较少个子序列分别进行排序,直到最后为一个序列排序。 1. 每隔固定距离选取一个数的方法划分子序。其中间隔距离称为增量。每次子序都排好后,增量减半,增量减少意味着子序数减少,直到增量为1,便是全部的数序了,希尔排序完成。 2. 子序列使用插入排序
阅读全文
摘要:排序思想: 将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 实现步骤: 选择序列中的某个元素a作为分割标准,那么将序列中小于a的元素放在a的左边,大于a的元素
阅读全文
摘要:排序思想: 数组中相邻元素两两比较,让最大的数浮动到数组最后的位置,其次大的数浮动到数组倒数第二个位置…… 时间复杂度: 其外层循环执行 N 1次。内层循环最多的时候执行N次,最少的时候执行1次,平均执行 (N+1)/2次。 所以循环体内的比较交换约执行 (N 1)(N + 1) / 2 = (N^
阅读全文
摘要:排序思想: 从数组某个位置i开始向后遍历数组,选出最小的一个和第I个位置交换,以此类推,直到从第N个和第N 1个元素中选出最小的放在第N 1个位置。 时间复杂度: 比较次数为 ,所以时间复杂度为O(n^2)
阅读全文
摘要:git 查看某个文件修改历史 1. 显示文件的每一行是在那个版本最后修改。 2. 显示某个文件的每个版本提交信息:提交日期,提交人员,版本号,提交备注(没有修改细节) 3. 显示某个版本的修改详情 4. 显示所有提交记录,每条记录只显示一行 5. 显示与某个文件有关的所有提交记录 6. 显示某个版本
阅读全文
摘要:检查以下3个地方的jdk版本是否一致: 1. Project Structure里确认两个地方:Project sdk以及project language level 2. Project Structure Modules里Sources里的Language level 3. Preference
阅读全文
摘要:排序思想 : 遍历数组,用当前元素与之前的序列进行比较,按照排序插入到相应位置上 插入排序算法的时间复杂度: 1. 最好情况:序列有序,顺序相同:O(n) 2. 最坏情况:序列有序,但顺序相反:O(n2) private static void insertSort(int[] arr) { int
阅读全文
浙公网安备 33010602011771号