2010-07-02 62 views
0

我想了解小程序是如何工作的。瞭解Java小程序

我知道類文件是字節碼,是JVM可以理解和執行的。當一個applet在用戶系統上運行時,字節碼將通過網絡傳輸到用戶系統。

現在,當有多個類文件時會發生什麼?例如,如果具有applet的init()方法(類A)的類具有另一個我的類(Class B)的對象,該怎麼辦?該html文件仍然包含APPLET標記中的classA.class。在這種情況下,classB.class是否也通過網絡傳輸?

另外,如何在這裏裝入jar文件?它們只是一個壓縮的類文件集合,不是嗎?

任何有關如何工作的清晰度將不勝感激。

感謝,

回答

0

我想從你上面的描述什麼是jar文件得到轉移和applet運行前由JVM解釋的關鍵事實,因此知道,因此可以訪問整個類層次結構。

+0

那麼,'線上發生了什麼?'?所有的類文件都需要?而jar只是一種壓縮它們的方式,所以我們消耗的帶寬更少? – Chaitanya 2010-07-02 17:29:08

+0

罐子通過僅使用一次網絡往返來減少等待時間 - 而不是n次旅行(每個文件一個) – MeBigFatGuy 2010-07-02 18:33:45

1

jar文件是類中包含的文件,它使用zip壓縮。當瀏覽器發現一個引用applet的標籤時,它將jar文件下載到客戶端並運行它。

+0

感謝您的回覆。 – Chaitanya 2010-07-02 17:38:33

1

您的applet依賴的任何依賴項都將傳輸到客戶端。這包括個人類和jar文件。

但是,許多Java開發人員現在更喜歡使用Java Web Start而不是applet。 Web Start應用程序不在瀏覽器內部運行,這有助於緩解不同瀏覽器的Java插件的兼容性問題。此外,Web Start沙盒不像小程序在其中運行的沙箱那樣嚴格。如果您已經使用Applet形式編寫代碼,則仍然可以將其作爲Web Start應用程序啓動。

+0

非常感謝回覆。我記得遇到Web Start ..肯定會探討它;我需要一個非限制性的沙盒! – Chaitanya 2010-07-02 17:38:04

0

<APPLET>標記在HTML中不推薦使用; <OBJECT>標籤應該是首選。然而,Sun(甲骨文?)表示,<APPLET>是首選,因爲<OBJECT>支持是參差不齊的。拿那個值得。

JAR文件(在<APPLET>的上下文中)用archive參數指定。

我認爲所有文件都是從applet所在的URL的底部獲取的;檔案當然是。

我想看看來自Sun的Java Tutorials。他們有一個applet,包括通過Java Web Start啓動。