JVM整合篇

阅读该博客之前,先阅读上一遍关于jvm的讲解

贡献博客阅读:

1、自己整合汇总https://www.cnblogs.com/xzlnuli/p/16253264.html

2、垃圾回收算法及垃圾回收https://blog.csdn.net/qq_39827131/article/details/90580935

 

1. JVM内存分配设置的参数有四个

-Xmx    Java Heap最大值,默认值为物理内存的1/4;

-Xms    Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM能够保留默认值;

-Xmn    Java Heap Young区大小,不熟悉最好保留默认值;

-Xss      每一个线程的Stack大小,不熟悉最好保留默认值;

-XX:PermSize:设定内存的永久保存区域; 

-XX:MaxPermSize:设定最大内存的永久保存区域;

-XX:NewSize:设置JVM堆的‘新生代’的默认大小;

-XX:MaxNewSize:设置JVM堆的‘新生代’的最大大小; 

-XX:NewRatio :新生代与年老代的比例。比如为3,则新生代占堆的1/4,年老代占3/4

-XX:SurvivorRatio:新生代中调整eden区与survivor区的比例,默认为8,即eden区为80%的大小,两个survivor分别为10%的大小。(备注:这个参数设定是讲解复制算法那一章中,解决复制算法内存减半的办法。eden区即是复制算法一章中80%的那部分,而survivor区则是两个10%的那部分。)

 

2. 如何设置JVM的内存分配

(1)当在命令提示符下启动并使用JVM时(只对当前运行的类Test生效):

java -Xmx128m -Xms64m -Xmn32m -Xss16m Test

 

posted @ 2022-07-22 13:56  xzlnuli  阅读(20)  评论(0编辑  收藏  举报