编程语言
首页 > 编程语言> > 二十四、java虚拟机垃圾处理机制

二十四、java虚拟机垃圾处理机制

作者:互联网

垃圾回收

垃圾收集发生的区域

Java堆和方法区有显著的不确定性,只有在程序运行时才能知道程序究竟创建了哪些对象,创建了多少对象,所以这部分内存的分配和回收是动态的,垃圾收集器所关注的正是这部分内存该如何管理

判定需要被回收的对象

引用计数法

可达性分析算法

在Java技术体系中,可以作为GC Roots的对象包括:

垃圾回收机制

四种引用类型

回收方法区

方法区的垃圾收集主要回收两部分:废弃的常量和不再使用的类型。判定一个常量是否废弃相对简单,与对象类似,只要某个常量不再被引用,就会被清理。

而判定一个类型是否属于“不再被使用的类”的条件就比较苛刻了,需要同时满足下面三个条件:

Java 虚拟机允许对满足上述三个条件的无用类进行回收,但并不是说必然被回收,仅仅是允许而已。关于是否要对类型进行回收,HotSpot 虚拟机提供了–Xnoclassgc参数进行控制

标签:垃圾处理,垃圾,java,泄漏,对象,虚拟机,回收,内存,引用
来源: https://blog.csdn.net/weixin_53102634/article/details/113713565