【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

7.JVM GC时的内存管理工作流程和频繁GC的原因

原创 2016年05月31日 14:28:38

大部分创建的对象都是在使用后结束,但是有的会存在很久。所以考虑gc的时候会考虑生命周期短,生命周期长,大对象,小对象。

生命周期短或者小对象此时可能就需要频繁的gc,把对象从内存释放掉。如果对象比较大,或者生命周期长就不需要gc,因为这种对象一般在old,如果heap过小此时就会被迫对old区域进行gc,从而导致full gc,此种情况下对性能的影响极大。所以一般会尽可能大的设置较大的heap。


gc的流程:

gc时会扫描young,from,to把不用的对象释放掉,同时把使用中的对象放到to中,此时如果对象大或者from和to的空间满时直接放到old中。young中的对象转移采用复制的方式,优点在于不会产生碎片用空间换取时间。

版权声明: 举报

相关文章推荐

【JVM】HotSpot JVM内存管理和GC策略总结(转)

JVM的相关知识是学习java高级特性必须要去深入学习的。平时也有一些学习和实践,不过总结比较少。 今天有时间总结一下最基础的内存模型和GC策略的知识,在此记录一下。   hotspot jvm内存模型 1.内存模型 hotspot的内存模型很多地方都有类似总结,我也简单总结了一下,大概可以用下图表示: <img src="http://dl.it

github上优秀的源码

以下内容来自转载(非常感谢此文第一作者): 一、ListView 二、ActionBar 三、Menu 四、ViewPager 、Gallery 五、GridView ...

JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)

引言 <p style="m

Java的前世今生

搞Java 6年了,一直想对Java有一个系统的认识,今天终于做了这件事。Java不仅仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署...

JVM基础 之java内存管理以及GC (强烈推荐)(转载)

内存管理简介<span style="font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 25px; text-align: left; background-color
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)