网站首页 > 精选教程 正文
常用的JVM启动参数可以分为几类,包括标准参数(-)、非标准参数(-X)、非标准参数(-XX)等。这些参数可以帮助调整JVM的性能、内存使用、垃圾回收策略等方面。下面是一些常用的JVM启动参数:
1. 堆内存设置
-Xms<size>:设置初始堆内存大小。
-Xmx<size>:设置最大堆内存大小。
-XX:NewSize=<size>:设置年轻代初始大小。
-XX:MaxNewSize=<size>:设置年轻代最大大小。
-XX:SurvivorRatio=<ratio>:设置Eden区与Survivor区的比例。
-XX:MaxTenuringThreshold=<threshold>:设置对象晋升到老年代的年龄阈值。
2. 垃圾回收器设置
-XX:+UseSerialGC:使用串行垃圾回收器。
-XX:+UseParallelGC:使用并行垃圾回收器。
-XX:+UseConcMarkSweepGC:使用CMS垃圾回收器。
-XX:+UseG1GC:使用G1垃圾回收器。
-XX:ParallelGCThreads=<num>:设置并行垃圾回收器的线程数。
3. 堆外内存设置
-XX:MaxDirectMemorySize=<size>:设置堆外内存的最大值。
4. 线程栈设置
-Xss<size>:设置每个线程的栈大小。
5. 日志和调试
-XX:+PrintGCDetails:打印详细的GC日志。
-XX:+PrintGCDateStamps:打印GC日志的时间戳。
-XX:+PrintHeapAtGC:在GC前后打印堆信息。
-verbose:gc:打印GC的基本信息。
-Xloggc:<file>:指定GC日志文件路径。
6. 性能调优
-XX:+AggressiveOpts:启用激进的优化。
-XX:+UseFastAccessorMethods:使用更快的字段访问方法。
-XX:+UseCompressedOops:启用对象指针压缩(仅64位JVM)。
-XX:+UnlockExperimentalVMOptions:解锁实验性的JVM选项。
7. 类加载
-D<property>=<value>:设置系统属性。
-XX:+UseSplitVerifier:使用分割验证器。
-XX:+UseFastClassPathParser:使用更快的类路径解析器。
8. 其他
-XX:+HeapDumpOnOutOfMemoryError:在出现OutOfMemoryError时生成堆转储文件。
-XX:HeapDumpPath=<path>:指定堆转储文件的路径。
-XX:ErrorFile=<path>:指定错误日志文件的路径。
-XX:OnOutOfMemoryError='<command>':指定在出现OutOfMemoryError时执行的命令。
示例
以下是一个使用G1垃圾回收器并设置堆内存的示例:
java -Xms1g -Xmx4g -XX:+UseG1GC -XX:ParallelGCThreads=4 -XX:MaxGCPauseMillis=200 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+UseStringDeduplication -jar myapp.jar
这里设置了初始堆内存为1GB,最大堆内存为4GB,使用G1垃圾回收器,并设置了并行GC线程数为4,最大暂停时间为200毫秒,同时开启了GC日志的详细输出。
这些参数可以根据具体的应用场景和性能需求进行调整。
【温馨提示】
点赞+收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!
- 上一篇: JVM调优第一步:常用命令行参数汇总
- 下一篇: JavaFX学习笔记002(启动方式和生命周期)
猜你喜欢
- 2024-11-01 关于启动电容器的匹配 启动电容器怎么接线
- 2024-11-01 冷水机的基本运行参数包括哪些? 冷水机参数含义
- 2024-11-01 Java线程池解读:从入门到精通,核心参数全掌握!
- 2024-11-01 使用Java编写求和的代码 使用java编写求和的代码是什么
- 2024-11-01 稳压器启动电流多大? 稳压器输出多少正常
- 2024-11-01 Java容器化参数配置最佳实践 java容器有哪几种
- 2024-11-01 Java变量 java变量的数据类型分为两种
- 2024-11-01 深入理解JVM运行原理:从内存布局到执行流程的全面解析
- 2024-11-01 丹佛斯VLT2900变频器维修后试运行参数设置方法及教...
- 2024-11-01 Java 21:有什么新变化? java+21:有什么新变化?举例说明
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)