📅  最后修改于: 2023-12-03 15:25:31.278000             🧑  作者: Mango
JVM参数是为了控制JVM所使用的内存,线程,类加载等方面的参数。本文将介绍常用的JVM参数并加以说明。
此参数用于设置JVM的初始堆大小。例如,-Xms512m设置初始堆大小为512MB。
此参数用于设置JVM的最大堆大小。例如,-Xmx1024m设置最大堆大小为1GB。需要注意的是,不应将最大堆大小设置为系统可用内存的最大值,以避免系统因内存不足而崩溃。
此参数用于设置年轻代的初始大小。例如,-XX:NewSize=32m设置年轻代初始大小为32MB。
此参数用于设置年轻代的最大大小。例如,-XX:MaxNewSize=64m设置年轻代最大大小为64MB。
此参数用于设置线程堆栈大小。例如,-XX:ThreadStackSize=1m设置线程堆栈大小为1MB。
此参数用于设置并行垃圾回收的线程数。例如,-XX:ParallelGCThreads=4设置并行垃圾回收的线程数为4个。
此参数用于追踪类的加载情况。例如,-XX:+TraceClassLoading可以打印出类的加载信息。
此参数用于设置永久代初始大小。例如,-XX:PermSize=16m设置永久代初始大小为16MB。
此参数用于设置永久代空间的最大大小。例如,-XX:MaxPermSize=64m设置永久代空间的最大大小为64MB。需要注意的是,JDK8及以上版本已移除永久代,改为使用元空间。
此参数用于设置JIT编译器编译方法的阈值。例如,-XX:CompileThreshold=1000设置JIT编译器编译方法的阈值为1000。
此参数用于激活侵略性优化,以提高JVM的性能。
此参数用于启用压缩指针。当JVM运行在64位操作系统上时,压缩指针可以减小对象头的大小,从而减小堆内存的使用。
此参数用于开启JVM的调试功能。
此参数用于与调试器建立连接。例如,-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005可以与调试器建立基于socket传输的连接,端口号为5005,不挂起JVM。