什么是jvm?
虚拟机 ,字节码,平台无关
jvm是按照运行时数据的存储结构来划分内存结构的,jvm在运维java程序时,将它们划分成几种不同格式的数据,分别存储在不同的区域,这些数据统一称为运行时数据。运行时数据包括java程序本身的数据信息和jvm运行java需要的额外数据信息。
jvm堆配置参数
1 -Xms 初始堆大小
默认物理内存的1/641(<1g)
2 -Xms 最大堆大小
默认物理内存的1/4(<1GB),实际中建议不大于4G。
3 一般建议设置 -Xms= -Xmx
好处是避免每次在gc后,调整堆的大小,减少系统内存分配开销
4 整个堆的大小= 年轻代大小+年老代大小+持久代大小.
jvm 内存结构
jvm新生代(young generation)
新生代=1个eden区+2个Survivor区
-Xmn 年轻代大小(1.4 or lator)
-XX:NewSize, -XX:MaxNewSize (设置年轻代大小(for1.3/1.4))
默认值大小为整个堆的3/8
-XX:NewRatio
年轻代(包括Eden和两个survivor区)与年老代的比值(除去持久代)
Xms=Xmx 并且设置了Xmn的情况下,该参数不需要进行设置。
-XX:SurvivorRatio
Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2.8,一个Survivor区占整个年轻代的1/10
用来存放jvm 刚分配的java对象。
java 持久代(perm generation)
1.代=整个堆-年轻代大小-老年代大小
1.
原文地址:https://www.cnblogs.com/wolfboy55-163-com/p/8126146.html
时间: 2024-10-09 18:14:01