JVM内存模型与GC

2017-10-26  本文已影响0人  16325

内存模型

线程栈:每个线程创建自己的栈区,大小可配置。如果太小递归调用会stackOverflow
堆内存:存储对象的区域,最大最小值均可设置
方法区:常量,类信息,静态变量等,大小可配置
程序计数器:不会有内存溢出,记录程序执行行数等
本地方法栈:会内存溢出。
image.png

GC-堆内存

Eden :新创建对象都在伊甸区
S0:新生代复制区域,默认是Eden的八分之一大小
S1:新生代复制区域,S0和S1两个区域完成不断复制的过程。
Old:老年代,新生代无法回收,大对象都会进入老年代。

GC-永久代

指方法区的内存回收。主要回收两部分内容:废弃常量和无用的类。频率远低于堆内存。

垃圾回收算法

上一篇下一篇

猜你喜欢

热点阅读