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
。