![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
gc
gc回收机制
Cry丶
/*有些梦虽然遥不可及, 但却并不是不可以实现*/<br>
写博客的原因(告戒自己):
1.记录自己的成长, 是非对错10年后回望;
2.我踩过的坑,同仁们就不要再迈了;
3.开源精神 理想主义 利他主义。
展开
-
弱引用WeakReference和软引用SoftReference
在Java1.2中我们可以发现一个java.lang.ref包,在这个包中我们可以发现有关引用的知识,比如WeakReference弱引用和SoftReference强引用。弱引用(WeakReference):只具有弱引用的对象声明周期更短暂,在垃圾回收期线程扫描它所管辖的内存区域的过程中,一旦发现了只具有若引用的对象,不管当前内存空间是否足够,都会回收它的内存,不过,要注意的是,由于垃圾回收期是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。软引用(SoftReference):原创 2020-12-04 20:12:21 · 727 阅读 · 0 评论 -
为什么GC(垃圾回收)必须stop-the-world?
并发编程的许多困难都源于对象生存期问题,当对象在线程之间传递时,要确保它们安全地释放就变得很麻烦。因此GC可以使得并发编程变得容易。但是GC也是一个挑战,但是一次实现,就可以解决人们手动管理内存的麻烦(C语言),大大提高的开发效率和避免了许多Bug。但是GC也是有成本的,他会影响程序的效率,GC是一个非常挑战的工作,很多计算机科学家在上面耗费了数十年不断的提升效率。GC算法设计时,会考虑几个重要指标:(1) 程序吞吐量:GC对程序效率的影响,也就花费在GC的时间和程序处理正常业务的时间比;(2) G原创 2020-12-04 19:35:09 · 2291 阅读 · 1 评论 -
【GC收集器】Serial, Parallel, CMS, G1
1.Serial收集器一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。特点:CPU利用率最高,停顿时间即用户等待时间比较长。适用场景:小型应用通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。2.Parallel收集器采用多线程来通过扫描并压缩堆特点:停顿时间短,回收效率高,对吞吐量要求高。适用场景:大型应用,科学计算,大规模数据采集等。通过JVM参数 XX:+USeParNewGC 打开并发标记扫描垃圾回收器。3.CMS收集器采用原创 2020-12-04 19:29:51 · 203 阅读 · 0 评论