Java命令行參數主要包括以下幾類:
這些參數是Java虛擬機(JVM)的標準配置選項,用于控制JVM的行為。
-Xmx<size>
:設置JVM的最大堆內存大小。-Xms<size>
:設置JVM的初始堆內存大小。-XX:MaxPermSize=<size>
:設置永久代(PermGen)的最大大?。ㄟm用于Java 7及以下版本)。-XX:PermSize=<size>
:設置永久代的初始大?。ㄟm用于Java 7及以下版本)。-XX:MaxMetaspaceSize=<size>
:設置元空間(Metaspace)的最大大?。ㄟm用于Java 8及以上版本)。-XX:MetaspaceSize=<size>
:設置元空間的初始大?。ㄟm用于Java 8及以上版本)。-XX:+UseG1GC
:啟用G1垃圾收集器。-XX:+UseConcMarkSweepGC
:啟用CMS垃圾收集器。-XX:+HeapDumpOnOutOfMemoryError
:在發生OutOfMemoryError時生成堆轉儲文件。-XX:HeapDumpPath=<path>
:指定堆轉儲文件的保存路徑。-XX:+PrintGCDetails
:打印詳細的垃圾收集日志。-XX:+PrintGCTimeStamps
:在垃圾收集日志中添加時間戳。-Dproperty=value
:設置系統屬性。這些參數是傳遞給Java應用程序的,通常用于配置應用程序的行為。
-jar <jar-file>
:運行指定的JAR文件。<classname>
:指定要運行的主類名。-cp <class-path>
或 -classpath <class-path>
:設置類路徑。-D<name>=<value>
:設置系統屬性(與-Dproperty=value
相同)。這些參數用于調試Java應用程序。
-agentlib:<libname>[=<options>]
:加載本地代理庫。-Xrunjdwp:<options>
:設置JDWP(Java Debug Wire Protocol)調試選項。-verbose
或 -XX:+PrintFlagsFinal
:打印所有JVM參數的最終值。這些參數用于監控Java應用程序的性能。
-XX:+UnlockCommercialFeatures
和 -XX:+FlightRecorder
:啟用商業特性和飛行記錄器(適用于Java 8u40及以上版本)。-XX:StartFlightRecording=<options>
:開始記錄飛行數據。-XX:StopFlightRecording=<options>
:停止記錄飛行數據。這些參數用于增強Java應用程序的安全性。
-Djava.security.manager
:啟用Java安全管理器。-Djava.security.policy=<policy-file>
:指定安全策略文件。java -Xmx512m -Xms256m -jar myapp.jar -Dproperty=value -verbose
在這個示例中:
-Xmx512m
設置最大堆內存為512MB。-Xms256m
設置初始堆內存為256MB。-jar myapp.jar
運行名為myapp.jar
的JAR文件。-Dproperty=value
設置系統屬性property
的值為value
。-verbose
打印詳細的JVM啟動信息。了解這些參數可以幫助你更好地配置和優化Java應用程序的性能和行為。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。