循环遍历器 for (Iterator iter = list.iterator(); iter.hasNext();) { int i = ((Integer) iter.next()).intValue(); sum += i; } list接口继承了可枚举的接口,才有这个.itreator() 方法. 虽然中间过程比较的曲折: public interface Collection<E> extends Iterable<E> { 当然返回的这个Iterator 也不一般 p…
JVM垃圾回收: GC又分为 minor GC 和 Full GC (也称为 Major GC ).Java 堆内存分为新生代和老年代,新生代中又分为1个 Eden 区域 和两个 Survivor 区域. 那么对于 Minor GC 的触发条件:大多数情况下,直接在 Eden 区中进行分配.如果 Eden区域没有足够的空间,那么就会发起一次 Minor GC:对于 Full GC(Major GC)的触发条件:也是如果老年代没有足够空间的话,那么就会进行一次 Full GC. GC主要做了清理对…
并发编程的第二部分,先来谈谈发布(Publish)与逸出(Escape); 发布是指:对象能够在当前作用域之外的代码中使用,例如:将对象的引用传递到其他类的方法中,对象的引用保存在其他类可以访问的地方,或在某个非私有的方法中返回对象的引用; 逸出是指:发布内部状态可能会破坏封装性,如果在对象构造完成之前就发布该对象,就会破坏线程安全性; 下面结合一个例子来理解: class UnsafeStates { private String[] states = new String[] { "AA&q…