Java簡介
Java是由Sun Microsystems公司於1995年5月推出的Java程序設計語言(如下簡稱Java語言)和Java平臺的總稱。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態的Web、Internet計算。今後,Java被普遍接受並推進了Web的迅速發展,經常使用的瀏覽器如今均支持Java applet。另外一方面,Java技術也不斷更新。
Java平臺由Java虛擬機(Java Virtual Machine)和Java 應用編程接口(Application Programming Interface、簡稱API)構成。Java 應用編程接口爲Java應用提供了一個獨立於操做系統的標準接口,可分爲基本部分和擴展部分。在硬件或操做系統平臺上安裝一個Java平臺以後,Java應用程序就可運行。如今Java平臺已經嵌入了幾乎全部的操做系統。這樣Java程序能夠只編譯一次,就能夠在各類系統中運行。Java應用編程接口已經從1.1x版發展到1.2版。目前經常使用的Java平臺基於Java1.4,最近版本爲Java1.7。
Java分爲三個體系JavaSE(Java2 Platform Standard Edition),JavaEE(Java 2 Platform,Enterprise Edition),JavaME(Java 2 Platform Micro Edition)。
JAVA-名字起源
一天,幾位Java成員組的會員正在討論給這個新的語言取什麼名字,當時他們正在咖啡館喝着Java(爪哇)咖啡,有一我的靈機一動說就叫Java怎樣,這個提議獲得了其餘人的贊同,因而,Java這個名字就這樣傳開了。原來看SUN的JAVA標識沒去多想,如今看看,這不就是一杯正冒着熱氣的咖啡嗎?
[編輯本段]Java語言特色
Java是一種簡單的,面向對象的,分佈式的,解釋型的,健壯安全的,結構中立的,可移植的,性能優異、多線程的動態語言。
當1995年SUN推出Java語言以後,全世界的目光都被這個神奇的語言所吸引。那麼Java到底有何神奇之處呢?
Java語言其實最先誕生於1991年,起初被稱爲OAK語言,是SUN公司爲一些消費性電子產品而設計的一個通用環境。他們最初的目的只是爲了開發一種獨立於平臺的軟件技術,並且在網絡出現以前,OAK能夠說是默默無聞,甚至差點夭折。可是,網絡的出現改變了OAK的命運。
在Java出現之前,Internet上的信息內容都是一些乏味死板的HTML文檔。這對於那些迷戀於WEB瀏覽的人們來講簡直不可容忍。他們迫切但願能在WEB中看到一些交互式的內容,開發人員也極但願可以在WEB上建立一類無需考慮軟硬件平臺就能夠執行的應用程序,固然這些程序還要有極大的安全保障。對於用戶的這種要求,傳統的編程語言顯得無能爲力。SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術應用於WEB上,而且開發出了HotJava的第一個版本。當SUN公司1995年正式以Java這個名字推出的時候,幾乎全部的WEB開發人員都心生感嘆:噢,這正是我想要的!因而Java成了一顆耀眼的明星,醜小鴨一下了變成了白天鵝。
Java主要特性
一、Java語言是簡單的。Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用Java。另外一方面,Java丟棄了C++ 中不多使用的、很難理解的、使人迷惑的那些特性,如操做符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,並提供了自動的廢料收集,使得程序員沒必要爲內存管理而擔心。
二、Java語言是一個面向對象的。Java語言提供類、接口和繼承等原語,爲了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,並支持類與接口之間的實現機制(關鍵字爲implements)。Java語言全面支持動態綁定,而C++ 語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。
三、Java語言是分佈式的。Java語言支持Internet應用的開發,在基本的Java應用編程接口中有一個網絡應用編程接口(java.net),它提供了用於網絡應用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分佈式應用的重要手段。
四、Java語言是健壯的。Java的強類型機制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
五、Java語言是安全的。Java一般被用在網絡環境中,爲此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具備的許多安全特性之外,Java對經過網絡下載的類具備一個安全防範機制(類ClassLoader),如分配不一樣的名字空間以防替代本地的同名類、字節代碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。
六、Java語言是體系結構中立的。Java程序(後綴爲java的文件)在Java平臺上被編譯爲體系結構中立的字節碼格式(後綴爲class的文件), 而後能夠在實現這個Java平臺的任何系統中運行。這種途徑適合於異構的網絡環境和軟件的分發。
七、Java語言是可移植的。這種可移植性來源於體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統自己也具備很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。
八、Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯爲字節碼格式, 而後能夠在實現這個Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器對這些字節碼進行解釋執行,執行過程當中須要的類在聯接階段被載入到運行環境中。
九、Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨着JIT(Just-In-Time)編譯器技術的發展愈來愈接近於C++。
十、Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來建立。一般有兩種方法來建立線程:其一,使用型構爲Thread(Runnable) 的構造子將一個實現了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類並重寫run方法,使用該子類建立的對象即爲線程。值得注意的是Thread類已經實現了Runnable接口,所以,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。 Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字爲synchronized)。
十一、Java語言是動態的。Java語言的設計目標之一是適應於動態變化的環境。Java程序須要的類可以動態地被載入到運行環境,也能夠經過網絡來載入所須要的類。這也有利於軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
Java語言的優良特性使得Java應用具備無比的健壯性和可靠性,這也減小了應用系統的維護費用。Java對對象技術的全面支持和Java平臺內嵌的API能縮短應用系統的開發時間並下降成本。Java的編譯一次,處處可運行的特性使得它可以提供一個隨處可用的開放結構和在多平臺之間傳遞信息的低成本方式。特別是Java企業應用編程接口(Java Enterprise APIs)爲企業計算及電子商務應用系統提供了有關技術和豐富的類庫。java