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

Java Applet 檔案結構全解析:.java、.class、.jar 三大核心檔案類型

     編輯:Java 程式設計入門

前言

理解 Java Applet 的三種來源檔案類型,是正確部署、維護、逆向分析的基礎。本文釐清各檔案角色、關係與實務操作建議。

三大檔案類型對照表

副檔名名稱內容可讀性可修改性直接部署典型用途
.java原始碼人類可讀的 Java 程式碼高✅ 完全可修改❌ 需編譯開發、學習、二次開發
.class位元碼JVM 指令集 (二進位)低 (需反編譯)❌ 不可直接修改✅ 瀏覽器/AppletViewer 直接載入發布、生產環境部署
.jarJava 封存檔ZIP 格式打包多個 .class + 資源檔低 (解壓後反編譯)❌ 需解壓/重打包✅ <APPLET archive="xxx.jar"> 加速載入多類別應用、資源整合、網路傳輸優化

關鍵知識點

1. 編譯流向

.java --(javac)--> .class --(jar cf)--> .jar
  • javac MyApplet.java 產生 MyApplet.class (含內部類別 MyApplet$1.class 等)。
  • jar cf myapplet.jar *.class images/ sounds/ 打包類別與資源。

2. 部署 HTML 寫法差異






  • code 永遠指定主類別 (含 public static void main 或繼承 Applet 的類別)。
  • archive 列出一或多個 JAR (逗號分隔),瀏覽器單次連線下載,避免多類別多次 HTTP 請求延遲。
  • JAR 內目錄結構必須符合套件名稱 (如 com/example/MyApplet.class)。

3. 原始碼保護現實

  • 多數作者不公開 .java,僅發布 .class/.jar。
  • .class 易被反編譯 (JAD, Procyon, CFR, Fernflower 等工具還原度極高)。
  • 若需保護智財:混淆器 (ProGuard, Zelix KlassMaster) → 重命名/控制流混淆/字串加密;關鍵邏輯移至伺服器端 (Web Service/REST API);原生庫 (JNI) 提高逆向門檻。

4. 現代替代方案

Applet 技術已淘汰 (瀏覽器移除 NPAPI、Java 11 移除模組)。現代 Web 部署採用:

  • Web Start (JNLP) — 亦已棄用 (Java 11 移除)。
  • 可執行 JAR + 桌面捷徑 — java -jar app.jar。
  • 模組化打包 — jlink 產生精簡運行時映像 + jpackage 產生原生安裝包 (exe, dmg, deb, msi)。
  • Web 技術棧 — JavaScript/TypeScript + WASM (透過 TeaVM, CheerpJ 編譯 Java 位元碼至 WASM)。

結語

.java 給人看、.class 給 JVM 看、.jar 給網路傳輸看。掌握三者轉換與部署細節,是 Java 開發者從入門到精通的必經之路。雖然 Applet 時代落幕,但位元碼、JAR、類別載入機制仍是 JVM 生態系統的基石。

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