首頁
中文書目錄
原文書目錄
 站內快速搜尋
資源中心
Book Series
Special Interest













■好消息,歐萊禮書籍已重新鋪貨至各大書局及網路書店,歡迎讀者選購       ■歡迎各院校採用歐萊禮書籍,學校團購請洽校園服務團隊

Learning Java the O'Reilly's Way

Java Virtual Machine


Java是近年突然竄紅的新星,「保全」、「跨平台」......,大家對它的諸多特色津津樂道,但你可曾認真思考:是誰在 Java 的背後成就這些光彩的?

因為 Java 虛擬機器(Java Virtual Machine,簡稱 JVM)的屏障,所以 Java 程式可以跨平台;因為 JVM 進行多項驗證,所以 Java 具保全性。.... 原來,JVM 是成就 Java 的一大幕後功臣。

顧名思義,Java 虛擬機器是一部假想的電腦,也是 Java 技術的核心所在,所有的 Java 程式都是在這部假想的電腦上執行的。Java 虛擬機器可以以多種不同的形式存在:以一般程式的方式存在,架構在 OS 之上,例如 java.exe;以作業系統的方式存在,架構在硬體上,例如 Java OS;甚至直接以硬體的方式存在,例如 JavaChip(不過我認為以硬體的方式存在的虛擬機器已經太「真實」,不適合叫做「虛擬」機器)。

本書讀者群設定在熟悉 Java 語言並略懂 C/C++ 的程式員。本書的內容介紹性與教學性兼而有之,某些部份還可以當成參考資料來查閱。本書是一本以「徹底解說」為導向的書,書中有許多實用的資訊以及 Java 虛擬機器程式範例。

本書是寫來和 JVM 規格書作為互補之用的。JVM 規格書告訴我們細部的規則和語意,而本書提供了更多說明與深入淺出的描述,並伴隨著許多範例讓你親自嘗試。比方說:本書教你寫出一個類別載入者(class loader)、透過假碼(pseudo-code)的說明來揭露 instanceof 的運作細節、用 JVM 指令來寫出一個 applet.... 等等。本書也捨棄一些內容不提,比方說:IEEE 格式、類別驗證者(class verifier)的動作方式.... 等。不過,這些資料你分別可以在 O'Reilly 出版的《Java Language Reference》以及《Java Security》等書上找到詳細的資料。

本書的結構分為三部份:第一部份是機器概觀,第二部份是指令指南,第三部份是參考資料。如果你對 Java 虛擬機器不熟悉,你可能想把這本書拿到一個安靜的地方,花些時間仔細地讀完前三章。稍後,你可以回來讀完第一部份的其它章節。如果你需要熟悉 JVM 的指令集,第二部份包含了所有 JVM 指令的快速瀏覽,並佐以適當的範例。或者,如果你需要查詢某 Java 虛擬機器指令的操作細節,你可以到第三部份去看看,這部分以英文字母順序排列,查詢相當方便。

本書的中文版正是我以前翻譯的「細說 Java 虛擬機器」,已經絕版了,市面上不容易看到。因為翻譯此書的關係,我在 Java 虛擬機器花了不少功夫,也對 Java 有了更深入的認識。除非你有實際的需要,或和我一樣好奇地想更深入瞭解 Java,不然其實大部分的人並不需要閱讀本書。本書可能的讀者包括了﹕
  • 教師:如果你正在教編譯器(compiler)課程,你可能想用 Java 虛擬機器當學生習作的平台,好處是可以讓學生在各種不同的機器上完成這份習作。
  • 業餘愛好者:本書提供你一套工具,讓你能在虛擬機器層級將 Java 操控於指掌間。
  • 系統開發者:如果你正在開發一個 Java 執行時期系統(runtime system),或將 Java 移植到新的 平台,這本書能讓你瞭解執行時期系統內如何分工合作。
  • 程式員:透過本書與隨書附贈的 Jasmin(茉莉)軟體,你可以反組譯類別、觀察類別的內部、甚至 可以用組譯器來實作重要的類別和 method。或者,你也可以藉由本書來瞭解 Java 的執行效率議題 並直接使用 JVM 建立應用軟體。
  • 語言實作者:如果你希望讓 Java 虛擬機器也能執行某個你喜愛的程式語言,你打算實作此語言的 JVM 版本,本書對你會很有幫助。
  • 電腦安全高手:Sun 公司要求 Java 可以保護你免於受到來者不善的程式之搗亂。本書幫助你能自行 控制這項權力。
  • 本書以 Java 1.02 版為描述對象,而現在都已經進入Java 2(JDK 1.4)的時代了。雖然 Java 歷經這些改版,JVM 指令集和 bytecode 的格式並未有任何變動,所以本書依然適用於現今的 Java 2。雖然 bytecode 的格式並未改變,但 Java 1.1 和 Java 2 以後的確是多出一些屬性,包括了:「InnerClasses」、「Synthetic」以及「Deprecated」,都是本書未涵蓋的,如果你正在實做 JVM 或 Java 編譯器,請特別留心這部分。如果想學好JVM,Bill Venners 所著的 Inside The Java Virtual Machine 第二版似乎是更好的選擇,且其內容也比較新。

    本文作者:蔡學鏞
    張貼日期:12/11/2002
    
    | 首頁 | 聯絡我們 |
    © 2009, O'Reilly Media, Inc. Taiwan Branch