堆内存相关

参数描述
-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。

参考资料:

posted on 2019-09-02 00:08  vow007  阅读(9)  评论(0编辑  收藏  举报  来源