JVM堆:新生代Young = Eden+Survivor; Survivor = S0+S1,JVM中方法栈也优先存在于Eden上的TLAB(Thread Local Allocation Buffer)。老生代Perm:垃圾回收方法:复制(Copying)标记-清除(Mark-Sweep)标记-压缩(Mark-Compact)JDK GC机制学习:http://blog.csdn.net/jollyant/article/details/5647141http://wenku.baidu.com/view/c3fd52d376eeaeaad1f33005.htmlhttp://blog.c Read More
很简单的final:表示不能xxxfinally:表示一定能xxxfinalize:表示在某个时候,能xxx final如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。finallyfinally—在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。finali Read More
ArrayList内部实现基于Object[],更像数组优势:在尾部写元素,随机读元素劣势:随机写元素(牵扯到数据移动)使用注意: 1) 不能直接获取元素对象,需通过Iterator 2) 静态分配的空间LinkedList内部实现基于一组连接的记录,更像链表优势:随机写元素劣势:随机读元素(要从头读到尾)使用注意: 1) 动态分配空间 Read More
如果天下的对象,都只做直接的equals判断,那就相安无事了。可总有一些情况:对象置于容器(如hashSet)中,而后进行equals判断;对象与继承对象的子类间,进行equals判断;……【1】定义了错误的equals方法签名NO: public boolean euqals(Pointer o);YES: public boolean equals(Object o);【2】重载了equals的但没有同时重载hashCode的方法NO: no hashCode()YES: public int hashCode() { return (41 * (41 + getX()) + getY() Read More