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。