「一次編譯,到處運行」非自動實現。必須嚴格遵循以下規範:
javac -Xlint 或 IDE 最大警告級別,捕獲平台相關代碼。@Deprecated 方法與內部類(sun.*, com.sun.*)。destroy() 或停止所有非守護線程。notepad.exe vs vi),改為用戶配置命令路徑。System.getProperty("file.separator")、line.separator、path.separator 動態獲取。InetAddress.getAddress() 獲取統一格式 IP,避免 getHostName() 平台差異。setBounds() 硬編碼座標/大小,交由 LayoutManager 自適應。SystemColor 類常量(menu, window 等)Toolkit.getScreenResolution() (DPI)Toolkit.getScreenSize()javac -Xlint:all 零警告編譯.properties 文件sun.*/com.sun.* 導入System.exit() 正常流程調用跨平台非語言天賦,而是嚴格工程紀律的結果。這 12 條規則涵蓋了類庫依賴、編譯檢查、API 選擇、進程控制、本地交互、字符編碼、系統屬性、文件系統、網絡地址、GUI 佈局、顯示適配等所有關鍵維度。將其納入團隊編碼規範,配合自動化檢查工具,才能真正實現「Write Once, Run Anywhere」。