2012-02-13 36 views
2

目前,我的小程序,通過使用少量的lib罐子裝,我把它們存檔:小程序性能:在啓動時加載所有jar還是僅在需要class時加載?

<applet 
archive="MainJar.jar,lib/jar1.jar,lib/jar2.jar,lib/jar3.jar" 
code="start.MainClass.class" 
name = "Testing" 
width=1280 height=800> 
<PARAM NAME="zoomon" VALUE="true"> 
</applet> 

我可以知道:

  • 全都是我的lib罐子(jar1.jar,jar2的。 jar,jar3.jar)當小程序啓動時下載,或者只有在訪問類時才下載它們?
  • 如果lib類再次被訪問,lib jar可以像已經下載一樣使用,或者它們將被重新下載?
  • 如何在applet啓動時下載所有jar包(包括lib jar)?
  • 如何在我的MainJar.jar中包含所有lib罐子?

回答

0

我已經嘗試創建一個小程序,並從我的瀏覽器訪問它,似乎所有jar文件都立即下載並重用,只要緩存不清除。

+0

你知道如何檢查applet啓動時是否在客戶端下載了所有的jar文件嗎? – baizen 2012-02-13 03:36:37

2
  • 熱切(使用該形式啓動一個小程序)。
  • 它們應該被緩存。小程序開發人員面臨的一個問題是獲取一個小程序來加載更新的Jar,而不是使用緩存的版本。
  • 小程序標籤寫入的方式是自動的。
  • 如果'包含在主Jar'中意味着只部署一個包含所有內容的'fat'Jar,那麼不要這樣做。由於多種原因,最好將Jars分開。

  1. Java Web Start提供了罐子的懶惰下載,以及下載的程序(代碼)控制的選項。
+0

我問最後一個問題的原因是我不確定第二個和第三個問題。如果lib jar繼續被重新下載,可能會影響性能。謝謝! – baizen 2012-02-13 03:44:00

+0

謝謝澄清。 – 2012-02-13 03:46:49

0

您可以確保所有罐子都是立即加載,將它們全部放入一個目錄中,然後將它們燒成一個罐子。也使得檔案行更短。

相關問題