java程序的執行
Java平臺和語言最開始只是SUN公司在1990年12月開始研究的一個內部項目。SUN公司的一個叫做帕特裏克·諾頓的工程師被自己開發的C和C語言編譯器搞得焦頭爛額,因為其中的API極其難用。帕特裏克決定改用NeXT,同時他也獲得了研究公司的一個叫做“Stealth 計劃”的項目的機會。
??“Stealth 計劃”後來改名為“Green計劃”,JGosling(詹姆斯·高斯林)和麥克·舍林丹也加入了帕特裏克的工作小組。他們和其他幾個工程師一起在加利福尼亞州門羅帕克市沙丘路的一個小工作室裏面研究開發新技術,瞄準下一代智能家電(如微波爐)的程序設計,SUN公司預料未來科技將在家用電器領域大顯身手。團隊最初考慮使用C 語言,但是很多成員包括SUN的首席科學家比爾·喬伊,發現C 和可用的API在某些方面存在很大問題。
??工作小組使用的是內嵌類型平臺,可以用的資源極其有限。很多成員發現C 太復雜以至很多開發者經常錯誤使用。他們發現C 缺少垃圾回收系統,還有可移植的安全性、分布程序設計、和多線程功能。最後,他們想要一種易於移植到各種設備上的平臺。
??根據可用的資金,比爾·喬伊決定開發一種集C語言和Mesa語言搭成的新語言,在一份報告上,喬伊把它叫做“未來”,他提議SUN公司的工程師應該在C 的基礎上,開發一種面向對象的環境。最初,高斯林試圖修改和擴展C 的功能,他自己稱這種新語言為C –,但是後來他放棄了。他將要創造出一種全新的語言,被他命名為“Oak”(橡樹),以他的辦公室外的樹而命名。
就像很多開發新技術的秘密的工程一樣,工作小組沒日沒夜地工作到了
同年11月,Green計劃被轉化成了“FirstPerson有限公司”,一個SUN公司的全資子公司,團隊也被重新安排到了帕洛阿爾托。FirstPerson團隊對建造一種高度互動的設備感興趣,當時代華納發布了一個關於電視機頂盒的征求提議書時(Request for proposal),FirstPerson改變了他們的目標,作為對征求意見書的響應,提出了一個機頂盒平臺的提議。但是有線電視業界覺得
直至 1994年下半年,由於Internet的迅猛發展和環球信息網的快速增長,第一個全球信息網絡瀏覽器Mosaic誕生了;此時,工業界對適合在網絡異構環境下使用的語言有一種非常急迫的需求;Games Gosling決定改變綠色計劃的發展方向,他們對Oak進行了小規模的改造,就這樣,Java在1995年的3月23日誕生了!Java的誕生標誌著互聯網時代的開始,它能夠被應用在全球信息網絡的平臺上編寫互動性及強的Applet程序,而1995年的Applet無疑能給人們無窮的視覺和腦力震蕩。但沒有相應的開發庫而只靠Java語言來進行開發肯定是困難重重,所以Sun公司在1996年的1月23日發布了JDK 1.0來幫助開發人員的開發。JDK包括兩大部分:運行環境和開發工具。緊跟著,Sun公司在1997年2月18日發布了JDK 1.1。JDK1.1相對於舊版本最大的改進,是推出了JIT(Just-In-Time)編譯器,另外一個改進是AWT 1.1。
JAVA名稱的由來
雖然有人聲稱Java是開發人員名字的組合:James Gosling(詹姆斯·高斯林)Arthur Van Hoff(阿瑟·凡·霍夫)Andy Bechtolsheim(安迪·貝克托克姆),或“Just Another Vague Acronym”(只是另外一個含糊的縮寫)。還有一種比較可信的說法是這個名字是出於對咖啡的喜愛,所以以Java咖啡來命名。類文件的前四個字節如果用十六進制閱讀的話,分別為CA FE BA BE,就會拼出兩個單詞“CAFE BABE”(咖啡寶貝)。
1994年10月,HotJava和Java平臺為公司高層進行演示。1994年,Java 1.0a版本已經可以提供下載,但是Java和HotJava瀏覽器的第一次公開發布卻是在1995年5月23日SunWorld大會上進行的。SUN公司的科學指導約翰·蓋吉宣告Java技術。這個發布是與網景公司的執行副總裁馬克·安德森的驚人發布一起進行的,宣布網景將在其瀏覽器中包含對Java的支持。1996年1月,升陽公司成立了Java業務集團,專門開發Java技術。
JAVA程序的執行流程
JAVA 的運行機制就是把 JAVA 源代碼編譯成適合本地平臺運行的代碼的過程。首先,編寫 Java 源程序,然後由 Java 編譯器將 Java 源程序編譯為可執行的類文件,再通過 JVM 虛擬機將類文件轉換為符合當前平臺特征的代碼, 再由 Runtime Envionment(解釋器)解釋運行. 在一臺機器上用 JAVA 編寫並翻譯的程序不需要重新翻譯就可以在另一臺機器上得到執行。JAVA 源程序可以用任何編輯程序進行編輯,然後以純文本方式儲存在文件中,文件必須以 JAVA 作為後綴。
Java虛擬機(JVM)就是將類文件轉換成不同平臺上應用的JAVA程序的解釋設備。Java虛擬機(JVM)是可運行Java代碼的假想計算機。只要根據JVM規範描述將解釋器移植到特定的計算機上,就能保證經過編譯的任何Java代碼能夠在該系統上運行。在我們看來,Java虛擬機是為了使類文件能在不同的平臺上運行的Java字節碼解釋程序,Java虛擬機有很多種,比如說能夠應用在windows,linux,unix等的操作平臺,我們可以通過虛擬機來實現”一處編寫,處處運行”JVM是一種虛擬機,從結構上看它與實際的計算機相似,它的作用是使得一臺實際機器能夠運行 JAVA 字節碼程序。JAVA字節碼是JAVA源程序編譯後的程序,它不能被計算機直接執行,但它可以被所有的JAVA虛擬機執行。這就是JAVA字節碼程序可以在網絡上移植的原因。
.
java程序的執行