接口
接口是抽象方法的集合,如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法
GC:哪些内存需要回收?什么时候回收?如何回收?
当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,就需要对内存动态分配和垃圾收集技术实施必要的监控和调节。
垃圾收集器关注的是Java堆和方法区中的动态分配和回收的内存。
判断对象存活与否?
1、引用计数算法:主流的Java虚拟机未采用,很难解决对象之间相互循环引用的问题
2、可达性分析算法:判定对象是否可回收
对象真正死亡:至少经历两次标记过程:finalize()最多执行一次
分为标记和清除两个阶段,是最基础的收集算法,主要不足:1、效率问题;2、空间问题:标记清除之后会产生大量不连续的内存碎片,导致之后在程序运行过程中需要分配较大对象时,无法找到足够的连续内存而不得不提前触发另一次GC。