jvm内存和参数

 

常用的内存分配空间

新生代

eden

s0

s1

老年代

永久代 储存类信息,很少回收这里的内存

 

常用的jvm参数

-Xms heap最小值

-Xmx  heap最大值

-Xmn  新生代值

-XX:SurvivorRatio 新生代中的eden s0 s1三个区域的比例

-XX:MaxTenuringThreshold 控制对象经历多少次minor gc后才转入老年代

-verbose:gc gc开关

-Xloggc:gc.log gc日志

 

常用的jvm内存划分

1:java栈 存放对象引用,基本数据

2:heap 存放对象

3:方法区 也就是永久代,存放类信息

 

 

内存分配策略

1:对象优先在eden分配

2:大对象直接进入老年代

3:长期存活的对象会进入老年代

4:动态对象年龄判断

5:空间分配担保原则

 

gc分为俩种:

1:minor gc 只回收新生代内存,回收的时候一般用的是“复制”算法

2:full gc 回收新生代内存和老年代内存,老年代回收的时候一般用的是“标记,整理”算法

你可能感兴趣的:(jvm内存)