簡介
Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計語言和Java平臺的總稱信殊。由James Gosling和同事們共同研發(fā)炬称,并在1995年正式推出。
Java分為三個體系:
JavaSE(J2SE)(Java2 Platform Standard Edition涡拘,java平臺標(biāo)準(zhǔn)版)
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition玲躯,java平臺企業(yè)版)
JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)。
2005年6月跷车,JavaOne大會召開棘利,SUN公司公開Java SE 6。此時朽缴,Java的各種版本已經(jīng)更名以取消其中的數(shù)字"2":J2EE更名為Java EE, J2SE更名為Java SE善玫,J2ME更名為Java ME。
特點
Java語言是簡單的:Java語言的語法與C語言和C++語言很接近密强,使得大多數(shù)程序員很容易學(xué)習(xí)和使用茅郎。另一方面,Java丟棄了C++中很少使用的或渤、很難理解的系冗、令人迷惑的那些特性,如操作符重載劳坑、多繼承毕谴、自動的強制類型轉(zhuǎn)換。特別地距芬,Java語言不使用指針涝开,而是引用。并提供了自動的廢料收集框仔,使得程序員不必為內(nèi)存管理而擔(dān)憂舀武。Java語言是面向?qū)ο蟮模篔ava語言提供類、接口和繼承等面向?qū)ο蟮奶匦岳胝叮瑸榱撕唵纹鹨娨眨恢С诸愔g的單繼承,但支持接口之間的多繼承跛梗,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為implements)寻馏。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定核偿〕锨罚總之,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言漾岳。Java語言是分布式的:Java語言支持Internet應(yīng)用的開發(fā)轰绵,在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫尼荆,包括URL左腔、URLConnection、Socket捅儒、ServerSocket等液样。Java的RMI(遠程方法激活)機制也是開發(fā)分布式應(yīng)用的重要手段振亮。Java語言是健壯的:Java的強類型機制、異常處理鞭莽、垃圾的自動收集等是Java程序健壯性的重要保證双炕。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性撮抓。Java語言是安全的:Java通常被用在網(wǎng)絡(luò)環(huán)境中妇斤,為此,Java提供了一個安全機制以防惡意代碼的攻擊丹拯。除了Java語言具有的許多安全特性以外站超,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類乖酬、字節(jié)代碼檢查死相,并提供安全管理機制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。Java語言是體系結(jié)構(gòu)中立的:Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件)咬像,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行算撮。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。Java語言是可移植的:這種可移植性來源于體系結(jié)構(gòu)中立性县昂,另外肮柜,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性倒彰,Java編譯器是用Java實現(xiàn)的审洞,Java的運行環(huán)境是用ANSI C實現(xiàn)的。Java語言是解釋型的:如前所述待讳,Java程序在Java平臺上被編譯為字節(jié)碼格式芒澜,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時创淡,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行痴晦,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。Java是高性能的:與那些解釋型的高級腳本語言相比琳彩,Java的確是高性能的誊酌。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++汁针。Java語言是多線程的:在Java語言中术辐,線程是一種特殊的對象砚尽,它必須由Thread類或其子(孫)類來創(chuàng)建施无。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程必孤,其二猾骡,從Thread類派生出子類并重寫run方法瑞躺,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng)實現(xiàn)了Runnable接口兴想,因此幢哨,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼嫂便。線程的活動由一組方法來控制捞镰。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)毙替。Java語言是動態(tài)的:Java語言的設(shè)計目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境岸售。Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類厂画。這也有利于軟件的升級凸丸。另外,Java中的類有一個運行時刻的表示袱院,能進行運行時刻的類型檢查屎慢。
環(huán)境搭建
http://www.runoob.com/java/java-environment-setup.html