首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 執行器 java 指令完整參數指南與 JVM 調優啟動選項

     編輯:Java 相關知識

java 指令核心功能

java 是 JVM 啟動器,負責載入類別、初始化執行環境、呼叫 main 方法啟動應用程式。掌握啟動參數對部署、調優、除錯至關重要。

基本指令語法

java [選項] 類別全名 [引數...]
# 或
java [選項] -jar 檔案.jar [引數...]
  • 類別全名需包含套件路徑(如 com.example.Main),不含 .class 副檔名。
  • 所有進入點類別必須包含 public static void main(String[] args)。

核心啟動選項分類表

類別選項功能說明
類別路徑-classpath / -cp覆寫 CLASSPATH 環境變數,指定類別/資源搜尋路徑
-D 屬性=值設定系統屬性,程式可用 System.getProperty() 讀取
--module-path / -p模組路徑(JDK 9+ 模組系統)
記憶體管理-Xms <大小>堆積初始/最小值(如 512m, 2g)
-Xmx <大小>堆積最大值(生產環境建議 Xms=Xmx)
-Xss <大小>執行緒堆疊大小(預設 1M,遞迴深度大時調大)
-XX:MetaspaceSize / MaxMetaspaceSize元空間大小控制(JDK 8+ 取代 PermGen)
-XX:+UseG1GC / ZGC / Shenandoah選擇 GC 演算法(JDK 11+ 建議 G1/ZGC)
除錯與診斷-agentlib:jdwp=...啟用 JPDA 遠端除錯
-verbose:class/gc/jni輸出類別載入/GC/JNI 詳細資訊
-XX:+PrintGCDetails -Xlog:gc*詳細 GC 日誌(JDK 9+ 用 -Xlog)
-XX:+HeapDumpOnOutOfMemoryErrorOOM 時自動產生 heap dump
驗證與安全-verify / -noverify啟用/停用位元碼驗證
-verifyremote僅驗證遠端載入的類別
-Djava.security.manager啟用安全管理員(舊版)
-Djava.security.policy指定安全政策檔

記憶體設定最佳實務

# 生產環境典型設定(8G 記憶體機器)
java -Xms4g -Xmx4g -Xss1m \
     -XX:+UseG1GC -XX:MaxGCPauseMillis=200 \
     -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.hprof \
     -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Taipei \
     -cp app.jar com.example.Application

常見問題排查

  • 找不到主類別:確認 -cp 包含類別輸出目錄、主類別名稱正確(含套件)。
  • OutOfMemoryError:調大 -Xmx、檢查記憶體洩漏、啟用 heap dump 分析。
  • GC 停頓過長:切換 G1/ZGC、調整 -XX:MaxGCPauseMillis、檢查大物件分配。
  • 類別版本衝突:-verbose:class 追蹤載入來源、使用 mvn dependency:tree 排查。

JDK 9+ 模組化啟動

java --module-path mods -m com.example/com.example.Main

模組化應用需在 module-info.java 宣告 requires/exports。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved