麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Java技巧21使用檔案文件提高applet的加載速度

2019-11-18 14:12:09
字體:
來源:轉載
供稿:網友

  通過提高加載速度改善 applet 的外在性能

作者:John D. Mitchell
摘要
本技巧說明如何創建一個檔案文件,使它包含您的所有類文件,以便 Netscape 瀏覽器用戶能在最短時間內下載您的 applet!
現在人們對 java 常發的牢騷之一便是它的性能。影響用戶對 Java applet 速度和價值的熟悉的一個重大因素是:加載組成 applet 的所有類要花很長時間。我們曾經愿意花一分鐘或更長時間等待 applet 的下載,而我們做這一切只是為了看一些無聊的動畫。不幸的是,對性能的這種負面印象可能使實際上很有用的 applet 也顯得沒什么用處了。
要理解這種新的 applet 加載方法速度較快的原因,您需要知道為什么當前的方法速度如此之慢。一個 applet 通常由許多 Java .class 文件組成。對于每個類文件,類加載器必須打開一個從瀏覽器到 applet 代碼所在服務器的單獨套接字連接。因此,假如您的 applet 由 18 個 .class 文件組成,瀏覽器必須至少打開 18 個套接字才能將每個文件傳送到位。設置及斷開每個連接的開銷相當大。例如,設置每個連接需要往返傳送大量的網絡數據包,這樣會大大延長總響應時間(尤其是在網絡日益擁擠的今天)。(要了解有關套接字連接開銷的具體細節,請查閱一本重要的 TCP/ip 參考手冊。)

到現在,您可能已想出這一問題的解決方案了:將所有 .class 文件都放在一個大文件中,這樣只需建立一個連接即可下載整個 applet。真是個好主意!這正是 Netscape 和 Microsoft 兩大 Java 瀏覽器陣營的共同想法。

不幸的是,他們提出的兩個解決方案并不直接兼容。Microsoft,出于自身的不同需要,創建了自己的 CAB 文件格式。Netscape 的解決方案是使用現有的、人們熟知的 .zip 檔案文件格式。幸運的是,假如愿意,我們可以編寫 Html 代碼來處理這兩種格式。這是因為每種專用文件格式是由 <APPLET> HTML 標記的不同擴展指定的。

本文不談 CAB 文件的創建(因為 CAB 將逐漸出局)。對此確實感愛好的人可查閱 Microsoft 的 Java 開發人員文檔。一旦創建了 CAB 檔案文件,您就可以通過在 <APPLET> 標記中添加一個 cabbase HTML 參數 (param) 來使用 CAB:

<applet name="Hello" code="HelloWorld" width="50" height="50">
<param name=codebase value="http://www.foo.com/classes">
<param name=cabbase value="hello.cab">
</applet>


cabbase 參數的 value 值即 CAB 文件的文件名。

創建 Netscape 瀏覽器可用的一個 .zip 檔案文件很輕易。將 applet 所需的所有 .class 文件打包到一個 .zip 文件中。您只需記住:只是將文件存儲在檔案文件中(也就是不許壓縮)。

假如您使用的是 PKZip:

pkzip -e0 fileArchive.zip listOfClassFiles


如您使用的是 Info-Zip 壓縮程序:

zip -0 fileArchive.zip listOfClassFiles


請注重,在這兩種情況下,命令行標志包含的是數字 0,而不是字母 O。

要在 HTML 文件中使用 .zip 檔案文件,可在 applet 部分指定 archive 標記:

<applet name="Hello" code="HelloWorld" width="50" height="50"
codebase="http://www.foo.com/classes"
archive="hello.zip">
</applet>


別急 -- 我們還可以更進一步!您可以創建 .cab 和 zip 檔案文件,并同時支持這兩種格式;這意味著 Navigator 和 Internet EXPlorer 用戶都將獲得更快的 applet 下載速度。不必為使用這兩種瀏覽器的舊版本(或是任何其他瀏覽器)的用戶擔心,因為他們仍將通過慢速的老方法來獲取 applet 的所有類。將以上內容綜合起來:

<applet name="Hello" code="HelloWorld" width="50" height="50"
codebase="http://www.foo.com/classes"
archive="hello.zip">
<param name=codebase value="http://www.foo.com/classes">
<param name=cabbase value="hello.cab">
</applet>


現在您可以用 .cab 和 zip 檔案文件來解決下載速度慢的問題,我想我應該告訴您,JavaSoft 在 JDK 1.1 中已定義了一種新的檔案文件格式,您可以用這種新的格式將所有圖像文件、音頻文件和類文件打包在一個文件中(請參閱參考資源部分)。JavaSoft 將這種格式稱為 Java Archive (JAR)。<APPLET> HTML 標記已被修改,以便用 archives 參數來處理這種 JAR 格式。我把將這三種檔案文件格式整合到一起的工作留給您。

參考資源

有關 JavaSoft 的 JDK 版本 1.1 的信息,請訪問:
http://java.sun.com/PRodUCts/JDK/1.1/designspecs/index.html
有關 JAR 檔案文件的信息,請訪問:
http://java.sun.com/products/JDK/1.1/designspecs/jar/manifest.html
以下網址有 applet 標記的一個示例:
http://java.sun.com/products/JDK/1.1/docs/guide/misc/applet.html

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲一区二区三区在线免费观看 | 成人国产精品一区二区毛片在线 | 日本在线播放一区二区 | 日韩毛片一区二区三区 | 国产在线观看91一区二区三区 | 欧美一级黄色影院 | 黄色av片在线观看 | 黄色网址免费入口 | 久色亚洲 | 亚州精品国产 | 久久精品中文字幕一区二区三区 | 免费激情视频网站 | 欧美一级美国一级 | 久在线播放 | 国产精品资源手机在线播放 | 成人在线视频网 | 国产午夜亚洲精品午夜鲁丝片 | 色婷婷一区二区三区 | 久久成人动漫 | 91久久久久 | 精品一区二区三区免费 | 日本高清一级片 | av电影在线观看免费 | 美国av免费看 | 欧美18一12sex性处hd | 免费一级毛片观看 | 黄色特级大片 | 国产成人精品区 | 一区二区国产在线 | avlululu| 久色亚洲 | 91精品视频免费 | 精品一区二区三区欧美 | 一级在线观看视频 | 一级做a爰性色毛片免费1 | 国产精品久久久久久久久久电影 | 黄色的视频免费观看 | 国产亚洲精品视频中文字幕 | av成人在线播放 | 欧美伦交| 亚洲精品成人在线视频 |