動碼前先想清:
java.rmi.*、javax.rmi.*、javax.rmi.CORBA、javax.rmi.ssl| 技術 | 包前綴 | 特點 | 適用場景 |
|---|---|---|---|
| AWT | java.awt.* | 重量級、依賴本地平台、組件少 | 極簡工具、Applet 兼容 |
| Swing | javax.swing.* | 輕量級、純 Java 繪製、可換膚、組件豐富 | 主流桌面應用首選 |
| SWT | org.eclipse.swt.* | 封裝本地組件、性能接近原生、Eclipse IDE 使用 | 高性能、需原生外觀 |
建議:主流桌面應用首選 Swing(JFC);NetBeans/IntelliJ GUI 設計器可拖放生成代碼,但必須理解底層原理。
| 功能領域 | 關鍵 API / 技術 | 核心包 |
|---|---|---|
| 事件處理 | Listener 模式、事件分發線程 (EDT) | java.awt.event, javax.swing.event |
| 文件 I/O | 流、序列化、NIO.2 | java.io, java.nio |
| 數據庫訪問 | JDBC、連接池、ORM | java.sql, javax.sql |
| 集合與數據處理 | Collections Framework、Stream API | java.util, java.util.stream |
| 並發編程 | Executor、CompletableFuture、並發集合 | java.util.concurrent |
| 異常處理 | 檢查型/非檢查型異常、try-with-resources | java.lang |
| 國際化 (i18n) | ResourceBundle、Locale、格式化器 | java.util, java.text |
| 安全與加密 | JAAS、JCE、JSSE、策略文件、代碼簽名 | java.security, javax.crypto, javax.net.ssl |
| 全屏獨占模式 | Game/多媒體高性能繪圖 | java.awt, java.awt.image |
| 方案 | 特點 | 適用場景 |
|---|---|---|
| JavaFX | 現代 UI、FXML/Scene Builder、CSS 樣式、WebView、3D、屬性綁定 | 新項目首選、富客戶端 |
| Swing + Web Start | 成熟穩定、生態豐富、維護模式 | 存量項目、企業內部工具 |
| Electron / Tauri + Java 後端 | Web 技術做前端、Java 做後端、跨平台 | 團隊 Web 技術棧強 |
| GraalVM Native Image | 提前編譯原生二進制、啟動極快、體積小 | CLI 工具、微服務、Serverless |
Java 桌面開發技術棧橫跨 GUI、網絡、持久化、並發、安全、部署全鏈路。選型原則:新項目優先 JavaFX;存量維護 Swing;高性能原生考慮 SWT/GraalVM;架構上推薦「Web 前端 + Java 後端」解耦。工具鏈現代化(Maven/Gradle + IDEA + JUnit 5)能大幅提升開發體驗。