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。