0
点赞
收藏
分享

微信扫一扫

jvm 垃圾回收

DYBOY 2022-03-15 阅读 89
java

https://www.jianshu.com/p/b78ac4bf13ae
https://www.cnblogs.com/tuyang1129/p/12508216.html
jvm 垃圾回收原理

	1.如何识别垃圾两种方法	
		
		引用计数法:记录对象的引用个数,当引用个数为0时即为垃圾
		根可达性分析:从根节点出发,找不到的对象或者调用不到的对象即是垃圾(java使用)
		
	2.释放垃圾的算法
		(1)标记—清除算法(Mark-Sweep)
			根可达算法的垃圾标记,垃圾回收时候直接清除,有内存碎片
			
		(2)复制算法(Copying)
			将内存分为两个相同的区域,只用其中的一半,当这一半放满后,出发复制,将存活的引用复制到另一半,没有内存碎片	
						
		(3)标记—整理(Mark-Compact)
			与第一种一样,但是清除后,会整理,就是将内存中还存活的对象向一边移动,直至这些对象相互靠拢,整齐排列,
			然后直接清除不属于这一部分的全部内存。标记—整理的好处是解决内存碎片的问题
			
		(4)分代收集算法(java使用)
			一般将堆内存分为新生代和老年代两个部分,新生代用复制算法,老年待用标记整理算法,老年的垃圾交少每次复制的话交多
举报

相关推荐

0 条评论