[Java] JVM优化

例子

java -server -Xms512m -Xmx768m -jar springboot-app.jar

学习

根据Java虚拟机规范,JVM将内存划分为:

  • New(新生代):年轻代用来存放JVM刚分配的Java对象
  • Tenured(年老代):年轻代中经过垃圾回收没有回收掉的对象将被Copy到年老代
  • 永久代(Perm):永久代存放Class、Method元信息
学习
  1. 其中 New 和 Tenured 属于堆内存,堆内存会从JVM启动参数(-Xmx)指定的内存中分配
  2. Perm 不属于堆内存,由虚拟机直接分配,但可以通过 -XX:PermSize -XX:MaxPermSize 等参数调整其大小。
  3. JVM堆中主要的空间:整个堆大小 = 新生代大小 + 年老代大小 + 永久代大小。
参数
  1. -Xms:初始堆大小,是指设定程序启动时占用内存大小。
  2. -Xmx:是指设定程序运行期间最大可占用的内存大小。
  3. -Xss:是指设定每个线程的堆栈大小,默认堆栈大小为1M。
  4. -XX:NewSize:新生代空间大小初始值。
  5. -XX:MaxNewSize:新生代空间大小的最大值。
  6. -Xmn:对-XX:newSize、-XX:MaxnewSize两个参数同时进行配置
  7. 年老代:年老代的空间大小会根据新生代的空间大小隐式设定。
学习

https://www.iteye.com/blog/uule-2114697
https://www.cnblogs.com/andy-zhou/p/5327288.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值