JVM(Java Virtual Machine)是Java程序运行的虚拟机,它提供了Java程序执行所需的运行环境。JVM可以通过命令行参数进行配置和调优。以下是一些常用的JVM参数:
- -Xmx:设置JVM的最大堆内存大小。例如,-Xmx2G表示将最大堆内存设置为2GB。
- -Xms:设置JVM的初始堆内存大小。例如,-Xms512m表示将初始堆内存设置为512MB。
- -Xmn:设置新生代(Young Generation)的大小。新生代是JVM堆内存的一部分,用于存放新创建的对象。例如,-Xmn256m表示将新生代大小设置为256MB。
- -XX:PermSize=和-XX:MaxPermSize=:设置永久代(Permanent Generation)的初始大小和最大大小。永久代用于存放类信息、方法信息等。在Java 8及更高版本中,永久代已被元空间(Metaspace)取代,这些参数可能不再适用。
- -Xss:设置每个线程的堆栈大小。默认情况下,每个线程的堆栈大小为1MB。可以通过此参数增加或减少堆栈大小。例如,-Xss256k表示将堆栈大小设置为256KB。
- -XX:+UseParallelGC:启用并行垃圾回收器。并行垃圾回收器使用多个线程来执行垃圾回收操作,以提高垃圾回收的效率。
- -XX:+UseConcMarkSweepGC:启用并发标记-清除垃圾回收器。并发标记-清除垃圾回收器允许垃圾回收与应用程序并发执行,以减少停顿时间。
- -XX:+UseG1GC:启用G1(Garbage First)垃圾回收器。G1垃圾回收器是Java 7及更高版本中引入的一种全局垃圾回收器,适用于大内存和多处理器环境。
这只是一些常见的JVM参数,还有很多其他参数可以根据具体的应用场景和需求进行配置。可以使用"java -XX:+PrintFlagsFinal"命令查看当前JVM的所有参数及其默认值。