08 2017 档案
摘要:今天,我们来讲讲Mysql数据库的索引的一些东西,想必大家都知道索引能干吗?必然是查找数据表的时候,查找的速度快啊,尤其是那些几百万行的数据库,不建立索引,你是想考验用户的耐心吗?Mysql有多种存储引擎,必然,每种引擎的创建索引也是不尽相同的,比如MyISAM是B+Tree非聚集索引(second
阅读全文
摘要:经常会有公司叫我们手撕代码,比如网易,阿里,那我们是不是该掌握下呢。下面这段代码来自《现代操作系统》进程与线程P49页。public class ProducerConsumer { public ProducerConsumer() { } private static...
阅读全文
摘要:题目: 某位程序员想出了一种压缩字符串的方法,压缩后的字符串如下:3{a}2{bc}, 3{a2{c}},2{abc}3{cd}ef,现在需要你写出一个解压程序,还原原始的字符串,如: s=“3{a}2{bc}”return “aaabcbc” , s=”3{a2{c}}” retu...
阅读全文
摘要:当年的我也算是基础小王子,但是长时间的不用导致我与他们越来越陌生了,所以我要把他们记在我的本本上。首先我们要明白,java中到底有多少个循环关键字? 答:没错,就是3个,他们分别是:for(初始值;条件变量;增量),do{}…while(),while{}。break:跳出循环,执行...
阅读全文
摘要:归并算法:就是两个有序的序列,通过归并排序,变成一个有序的队列。 如图所示,对于一个序列的排序,可以这样做:首先,将序列分解成单个的数,,然后对相邻的有序序列通过排序逐渐整合为一个大的有序序列。这就是归并排序。 下面是我写的java代码: public class GuiBingPaiXu { //
阅读全文
摘要:本文所有的源码都是基于JDK1.8 ConcurrentHashmap中的size()方法源码: public int size() { long n = sumCount(); return ((n < 0L) ? 0 : (n > (long)Integer.MAX_VALUE) ? Integ
阅读全文
摘要:本文表达HashMap和ConcurrentHashMap中的put()方法的执行流程图,基于JDK1.8的源码执行过程。 HashMap的put()方法: ConcurrentHashMap的put()方法: final V putVal(K key, V value, boolean onlyI
阅读全文
摘要:快排中核心的方法应该算是Partition函数了,它的作用就是将整个数组分成小于基准值的左边,和大于基准值的右边。普通的Partition函数是这样的:public static int partition1(int[] array,int lo,int hi){ //...
阅读全文
摘要:堆排序: 一棵完全二叉树,如果父节点的值大于等于左右节点的值,则称此完全二叉树为小根堆(小顶堆);如果父节点的值小于等于左右节点的值,则次完全二叉树为大根堆(大顶堆)。 堆排序是建立在大顶堆或小顶堆的基础上的,通过不断的交换堆顶元素和堆尾元素,来对数组排序。基于大顶堆的堆排序,数组排序结果是升序的。
阅读全文
摘要:在练习剑指offer的时候,第12题打印1到最大的n位数的时候,想找个java版的,但大家要么用BigInteger做,要么给出其他的方法。我觉得要给就给最好的方法,下面是我自己参考C++代码写的java版的全排列方法。代码:public class Quanpaixu { p...
阅读全文
摘要:两个字符串表示两个非常大的数,请设计算法计算这两个大数的乘积,结果用字符串表示。例如S1=”7832974972840919321747983209327”,S2=”1987432091904327543957”,设计算法计算出S1*S2的结果,结果用String输出,不准用BigI...
阅读全文

浙公网安备 33010602011771号