堆内存相关
参数 | 描述 |
---|---|
-Xmx | 设置最大堆内存大小。例如 -Xmx2G 表示2GB的最大堆内存。 |
-Xms | 设置初始堆内存大小。例如 -Xms512M 表示512MB的初始堆内存。 |
-XX:NewRatio | 设置新生代和老年代的比例。例如 -XX:NewRatio=2 表示新生代和老年代比例为1:2。 |
垃圾回收相关
参数 | 描述 |
---|---|
-XX:+UseSerialGC | 使用串行垃圾回收器。 |
-XX:+UseParallelGC | 使用并行垃圾回收器。 |
-XX:+UseConcMarkSweepGC | 使用并发标记清除垃圾回收器。 |
-XX:+UseG1GC | 使用G1垃圾回收器。 |
-XX:MaxGCPauseMillis | 设置最大垃圾回收暂停时间。 |
类加载和字节码优化
参数 | 描述 |
---|---|
-XX:+TraceClassLoading | 跟踪类加载过程。 |
-XX:+TraceClassUnloading | 跟踪类卸载过程。 |
-XX:+PrintCompilation | 输出JIT编译过程信息。 |
-XX:+PrintGC | 输出垃圾回收过程信息。 |
线程和并发相关
参数 | 描述 |
---|---|
-Xss | 设置线程栈的大小。例如 -Xss256k 表示256KB的线程栈大小。 |
-XX:+UseParallelOldGC | 使用并行的老年代垃圾回收器。 |
-XX:ParallelGCThreads | 设置并行GC的线程数。 |
其他
参数 | 描述 |
---|---|
-XX:+UnlockExperimentalVMOptions | 解锁实验性VM选项。 |
-XX:+PrintFlagsFinal | 输出所有JVM参数的最终值。 |
-XX:OnOutOfMemoryError | 在发生内存溢出错误时执行指定的命令。 |
请注意,这只是将参数按照一些常见的分类进行了整理,并不是唯一的分类方式。根据实际需求,您可以根据不同的分类方式进行管理和配置。
如何使用JVM参数
在启动Java应用程序时,可以通过命令行参数或配置文件来指定JVM参数。以下是一些常用的使用方式:
- 命令行方式:通过在启动命令中加入JVM参数来执行Java应用程序,例如
java -Xmx2G -jar myapp.jar
。 - 配置文件方式:在Java应用程序的配置文件(如
.properties
或.ini
中)配置JVM参数。 - 环境变量方式:通过设置环境变量来指定JVM参数,例如
export JAVA_OPTS="-Xmx2G"
。
总结
JVM核心参数对于Java应用程序的性能、内存管理和调优等方面非常重要。通过了解和合理配置这些参数,我们可以优化应用程序的运行性能,并提高系统的稳定性和可靠性。本文介绍了一些常用的JVM核心参数,希望能够帮助开发人员更好地理解和配置JVM。
参考资料:
分类:
# JVM
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)