代码改变世界

23. 合并K个排序链表

2018-08-21 14:59 by 摘花, 201 阅读, 0 推荐, 收藏, 编辑
摘要:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 阅读全文

ArrayList和LinkedList和Vector的区别

2018-08-16 10:12 by 摘花, 171 阅读, 0 推荐, 收藏, 编辑
摘要:ArrayList:内部数据结构是数组,查询速度快,插入,删除速度慢 LinkedList:内部是链表,适合插入删除,无下标,查询慢。 Vector:线程安全的数组,所以比ArrayList性能差一些。 阅读全文

transient、instanceof、volatile、synchronized、const 原理及用法。

2018-08-16 10:04 by 摘花, 817 阅读, 0 推荐, 收藏, 编辑
摘要:transient:修饰变量,在实现Serializable接口的类中,可以避免持久化,但是如果实现的是Externalizable接口,那么手动序列化会无视 transient。 instanceof:对象 instanceof 类,检查对象是否是这个类或者这个类的子类的对象,返回布尔值。 vol 阅读全文

Java中的GC

2018-08-15 10:16 by 摘花, 213 阅读, 0 推荐, 收藏, 编辑
摘要:在梳理之前,要清晰的三个目标: 1,什么对象需要回收? 2,什么时候回收? 3,怎么回收? 问题1,当然是这个对象再也用不上的时候啦!就像从邻居家借了一把锄头,活没干完之前就还回去岂不是很傻,因为要用的时候又要去借。那怎么知道活有没有干完呢? 一,引用计数器,每当一个地方引用此对象,就给计数器加一, 阅读全文

内存可见性、重排序、顺序一致性

2018-08-14 16:56 by 摘花, 353 阅读, 0 推荐, 收藏, 编辑
摘要:重排序:CPU可能为了提高程序执行的效率和更充分的运用计算单元,会将代码的执行顺序打乱,重新排序,而volatile会禁止指令重排序。 可见性:当某一线程修改了某个变量的值,其他线程应该立即得知这次修改(将工作内存的值同步回主存),可以通过volatile关键字实现。 原子性:指的是代码要嘛全部都r 阅读全文

堆、栈、方法区、直接内存

2018-08-14 11:30 by 摘花, 494 阅读, 0 推荐, 收藏, 编辑
摘要:堆(heap):FIFO,所有线程共享的一块内存,是专门存放对象实例的地方,GC发生在这里。随JVM启动而创建 栈(stack):LIFO,应该叫做虚拟机栈,每个线程私有的,存放该线程调用的方法栈帧,存储局部变量表、操作数栈、程序出口、动态链接等,每一个方法的调用就是入栈出栈的过程。 方法区(non 阅读全文

POIsetCellValue无用

2018-07-16 11:04 by 摘花, 3634 阅读, 0 推荐, 收藏, 编辑
摘要:row.createCell(6).setCellValue(p.getDischargeNation()); 阅读全文

Self Crossing

2016-06-03 05:11 by 摘花, 684 阅读, 0 推荐, 收藏, 编辑
摘要:You are given an array x of n positive numbers. You start at point (0,0) and moves x[0] metres to the north, then x[1] metres to the west, x[2] metres 阅读全文

leetCode 338

2016-06-02 05:36 by 摘花, 242 阅读, 0 推荐, 收藏, 编辑
摘要:Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1's in their binary representation and r 阅读全文

LeetCode 198

2016-06-02 05:33 by 摘花, 172 阅读, 0 推荐, 收藏, 编辑
摘要:You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping yo 阅读全文