加入收藏 | 设为首页 | 会员中心 | 我要投稿 吉安站长网 (https://www.0796zz.com.cn/)- 科技、图像处理、媒体智能、办公协同、操作系统!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

经常用到的内存模块到底有哪些?

发布时间:2021-03-07 10:20:26 所属栏目:外闻 来源:互联网
导读:区域就是我们平时正常 new 出来的对象待的地方,该区域也是我们平时接触得最多的区域,这里细分为:Young Generation(新生代) 和 Old Generation(老生代) ,也就是我们平时经常关注的 YGC 和 FGC 的地方,而 Young Generation 中间又再细分为三个区域:Eden

区域就是我们平时正常 new 出来的对象待的地方,该区域也是我们平时接触得最多的区域,这里细分为:Young Generation(新生代) 和 Old Generation(老生代) ,也就是我们平时经常关注的 YGC 和 FGC 的地方,而 Young Generation 中间又再细分为三个区域:Eden、From Survivor、To Survivor,YGC 会有各种的算法来对这三块区域做针对性的垃圾回收算法,这里就先不展开讨论,有兴趣的可以参考 面试官,不要再问我“JAVA GC垃圾回收机制”了 。

该区域是所有线程所共享的,而存放的又是主要的业务对象,所以空间相对来说会是比较大的。一般可以使用 -Xms设置堆的最小空间大小 和 -Xmx设置堆的最大空间大小。



 

方法区和刚说的栈区域有很多相似的地方:线程共享、内存不连续、可扩展、可垃圾回收,同样当无法再扩展时会抛出OutOfMemoryError异常。而方法区通常也被称为非堆区域(non-heap),注意这要与堆外内存区分开!

方法区它存储的是已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。就是一些与运行时生成的对象区别开,是一个固定存放物资的区域。

方法区的内存回收目标主要是针对常量池的回收和对类型的卸载,一般来说这个区域的回收“成绩”比较难以令人满意,尤其是类型的卸载,条件相当苛刻,但是回收确实是有必要的。

(编辑:吉安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读