java
命令行参数主要用于控制 Java 虚拟机(JVM)的行为,以及指定要运行的 Java 类。以下是一些常见的 java
命令行参数:
-classpath
或 -cp
:设置类路径,用于指定 Java 类库和用户定义的类的位置。例如:-classpath lib/* com.example.MainClass
。
-d
或 -classpath
:将 Java 编译后的字节码文件(扩展名为 .class
)指定到一个目录中,以便在没有安装 JDK 的环境中运行。例如:-d output_directory src/*.class
。
-jar
:运行 Java 应用程序的 JAR 文件。例如:java -jar myapp.jar
。
-verbose
或 -v
:显示详细的类加载信息。例如:java -verbose MyClass
。
-version
:显示当前安装的 Java 版本。例如:java -version
。
-showversion
:在启动应用程序时显示 Java 版本信息。例如:java -showversion MyClass
。
-ea
或 -enableassertions
:启用断言。例如:java -ea MyClass
。
-da
或 -disableassertions
:禁用断言。例如:java -da MyClass
。
-esa
或 -enableassertions
:对所有类启用断言。例如:java -esa MyClass
。
-dsa
或 -disableassertions
:对所有类禁用断言。例如:java -dsa MyClass
。
-Xms
:设置初始堆内存大小。例如:java -Xms256m MyClass
。
-Xmx
:设置最大堆内存大小。例如:java -Xmx1024m MyClass
。
-XX:PermSize
:设置永久代(PermGen)的初始大小(Java 7 及更早版本)。例如:java -XX:PermSize=64m MyClass
。
-XX:MaxPermSize
:设置永久代(PermGen)的最大大小(Java 7 及更早版本)。例如:java -XX:MaxPermSize=256m MyClass
。
-XX:+UseConcMarkSweepGC
:启用 CMS 垃圾收集器(Java 9 及更早版本)。例如:java -XX:+UseConcMarkSweepGC MyClass
。
-XX:+UseG1GC
:启用 G1 垃圾收集器(Java 9 及更早版本)。例如:java -XX:+UseG1GC MyClass
。
-XX:+PrintGCDetails
:打印详细的垃圾收集日志。例如:java -XX:+PrintGCDetails MyClass
。
-XX:+PrintGCDateStamps
:在垃圾收集日志中添加时间戳。例如:java -XX:+PrintGCDateStamps MyClass
。
-XX:+HeapDumpOnOutOfMemoryError
:在发生 OutOfMemoryError
时生成堆转储文件。例如:java -XX:+HeapDumpOnOutOfMemoryError MyClass
。
-XX:HeapDumpPath
:设置堆转储文件的路径。例如:java -XX:HeapDumpPath=heapdump.hprof MyClass
。
这些参数只是 java
命令行参数的一部分,还有其他参数可用于调整 JVM 的行为。要查看所有可用参数,请在命令行中输入 java --help
。