垃圾回收机制:
1、垃圾:有操作系统合法分配
被应用程序合法占用
应用程序通过任何路径都无法访问的内存节点
2、java中,垃圾有被称为无用内存,无用对象,废料。
无用对象就是没有引用的对象,
3、垃圾回收框架的常用算法:
1、标记清扫法:垃圾收集任务对应用程序所占用的内存节点做“周期性的扫描”,标识垃圾内存节点,等到启动垃圾回收任务的时候对所有被标识的节点做一次性的回收。
2、内存的复制法(内存搬移法,内存拷贝法)from区和to区之间的拷贝及整理过程,效率可能受到影响。
4、java的垃圾回收任务通过垃圾回收“线程”实现
线程:可以并行运行的不可再分的可以共享资源的小任务,可以提高程序的运行效率。
java的垃圾回收任务就是一个线程
一个应用程序中那个线程运行有线程自身的优先级来决定的。垃圾回收线程几乎是所有线程中优先级最低的。
5、垃圾回收器的优点和缺点:
优点:实现了自动的内存管理,程序员无需再考虑内存释放问题。
缺点:由于垃圾回收其是一个线程,且优先级很低,何时启动何时终止难以控制
6、垃圾回收器启动的条件:
内存紧张:or 系统闲置
System.gc();方法可以启动垃圾回收器吗?不能(仅仅起到通知系统进行垃圾回收的作用,是否启动参考垃圾回收器启动条件)