栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM内存模型学习总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM内存模型学习总结

Java语言为什么能跨平台

Java提供了多平台版本的JDK,其中JVM版本也不同,通过不同版本的JVM可以将java代码编译成对应其系统的可执行语言

JVM内存结构模型

JVM内存参数


-XX:PermSize永久代的初始容量。
-Xss:每个线程的栈大小
-Xms:设置堆的初始可用大小
-Xmx:设置堆的最大可用大小
-Xmn:新生代大小
-XX:NewRatio:默认为2,表示新生代占年老代的1/2,占整个堆内存的1/3。
-XX:SurvivorRatio:默认为8,表示一个survivor区占用1/8的Eden内存,即1/10的新生代内存。
-XX:MaxMetaspaceSize: 设置元空间最大值, 默认-1, 即不限制, 只受限于物理内存大小。
-XX:MetaspaceSize: 指定元空间首次触发Fullgc的阈值(元空间无固定初始大小), 以字节为单位,默认是21M左右,达到该值就会触发full gc进行类型卸载,同时收集器会对该值进行调整。
-Xss设置越小,一个线程栈里能分配的栈帧就越少,但对JVM整体来说能开启的线程数会更多
Spring Boot程序的JVM参数设置格式:

java -Xms2048M -Xmx2048M -Xmn1024M -Xss512K -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -jar microservice-eureka-server.jar
为什么要有STW?

gc过程,就是找非垃圾对象的过程,发生gc时,没有STW机制的话,线程会继续执行,这时如果线程很快就执行完了,但是gc已经把这些对象标记为非垃圾对象。gc还没结束,这些对象就又变成垃圾对象了,之前做的标记工作就没用了,所以才要有STW机制

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/999752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号