在JDK 8中,JAVA_OPTS通常用于传递给JVM的启动参数。以下是一些常见的JAVA_OPTS项及其说明:
-
内存管理
-Xms:设置Java堆的初始大小,例如 -Xms512m。
-Xmx:设置Java堆的最大大小,例如 -Xmx1024m。
-Xmn:设置年轻代的大小。
-XX:PermSize=size:设置永久代的初始大小(在JDK 8中被Metaspace取代,但可以使用此选项)。
-XX:MaxPermSize=size:设置永久代的最大大小(在JDK 8中被Metaspace取代)。 -
垃圾回收
-XX:+UseSerialGC:使用串行垃圾回收器。
-XX:+UseParallelGC:使用Parallel垃圾回收器。
-XX:+UseConcMarkSweepGC:使用CMS垃圾回收器。
-XX:+UseG1GC:使用G1垃圾回收器。
-XX:MaxGCPauseMillis=:设置最大垃圾回收停顿时间。 -
其他JVM选项
-D= :设置系统属性,如 -Dfile.encoding=UTF-8。
-XX:+PrintGCDetails:打印详细的GC日志。
-XX:+PrintGCDateStamps:在GC日志中添加时间戳。
-XX:HeapDumpOnOutOfMemoryError:在发生OOM时生成堆转储文件。 -
调试信息
-Xdebug:启用调试。
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005:设置远程调试参数。 -
其他有用的选项
-XX:+UseCompressedOops:启用压缩指针,节省内存(适用于64位JVM)。
-Djava.awt.headless=true:在无头模式下运行Java应用程序(适用于图形界面不需要的场景)。