堆内存相关
参数 | 描述 |
---|
-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。
参考资料: