final和static修饰的方法,子类都无法重写。
ArrayList的排序,可以通过实现compareTo接口实现,一个是在类上实现接口Collections.sort(list);//排序,另一个是创建一个新的比较类,实现接口Collections.sort(list,new Stu());//排序方法。
垃圾回收机制,当不存在引用的对象,会被当作垃圾,当时两个引用互相引用就会造成内存泄漏,但是还有可达性分析法,就是GCROOT根节点对象,GCROOT根可达的就是非垃圾。垃圾回收有三种方法,标记清除,将标记为垃圾的全部清除,缺点是回收后的内存不连续,形成大量的内存碎片,大对象就无法分配。标记-整理,清理后将剩余的对象移动整理,相应的有大量的移动操作,效率低。第三种复制算法,将内存划分相等两块,每次使用一半,将确定存活的对象复制到另一块,直接清除已使用的内存,相率高,但是浪费内存,每次清除都需要复制对象,所以适合对象生命周期短的情况。
分代回收策略,将所有对象视为短期对象,每次回收以后年龄加1,未被清理的对象从缅甸园放入幸存区,当幸存区对象年龄到达一定年限,就放入老年代,系统视为以后较大概率也不会回收,老年代的对象等全局清理的时候清理。