java入門教程學(xué)習(xí)應(yīng)從介紹java常用語開始,據(jù)了解,Java 設(shè)計(jì)開發(fā)小組的成員總結(jié)了一些關(guān)鍵因素,稱其為Java 的專門用語,包括下面幾個(gè):
一、簡單
Java 設(shè)計(jì)目的是讓專業(yè)程序員覺得既易學(xué)又好用。如果你已經(jīng)理解面向?qū)ο缶幊痰幕靖拍?,學(xué)習(xí)Java 將更容易。如果你是一個(gè)經(jīng)驗(yàn)豐富的C++
程序員,那就最好了,學(xué)習(xí)Java 簡直不費(fèi)吹灰之力。因?yàn)镴ava 承C/C++ 語法和許多C++ 面向?qū)ο蟮奶匦?,大多?shù)程序員在學(xué)習(xí)Java
時(shí)都不會(huì)覺得太難。另外,C++中許多容易混淆的概念,或者被Java 棄之不用了,或者以一種更清楚、更易理解的方式實(shí)現(xiàn)。
除了和C/C++ 類似以外,Java 的另外一個(gè)屬性也使它更容易學(xué)習(xí):設(shè)計(jì)人員努力使Java 中不出現(xiàn)顯得讓人吃驚的特性。在Java
中,很少明確地告訴你如何才能完成一項(xiàng)特定的任務(wù)。
二、面向?qū)ο?/span>
盡管受到其前輩的影響,但Java 沒被設(shè)計(jì)成兼容其他語言源代碼的程序。這允許Java 開發(fā)組自由地從零開始。
這樣做的一個(gè)結(jié)果是,Java語言可以更直接、更易用、更實(shí)際的接近對(duì)象。通過對(duì)近幾十年面向?qū)ο筌浖?yōu)點(diǎn)的借鑒,Java設(shè)法在純進(jìn)化論者的“任何事物都是一個(gè)對(duì)象”和實(shí)用主義者的“不討論對(duì)象不對(duì)象”的論點(diǎn)之間找到了平衡。Java的對(duì)象模型既簡單又容易擴(kuò)展,對(duì)于簡單數(shù)據(jù)類型,例如整數(shù),它保持了高性能,但不是對(duì)象。
三、健壯
為更好理解Java是如何具有健壯性的,讓我們考慮使程序失敗的兩個(gè)主要原因:內(nèi)存管理錯(cuò)誤和誤操作引起的異常情況(也就是運(yùn)行時(shí)錯(cuò)誤)。在傳統(tǒng)的編程環(huán)境下,內(nèi)存管理是一項(xiàng)困難、乏味的任務(wù)。在傳統(tǒng)的環(huán)境下,異常情況可能經(jīng)常由“被零除”或“文件未找到”這樣的情況引起,而我們又必須用既繁多又難以理解的一大堆指令來對(duì)它們進(jìn)行管理。
四、多線程
設(shè)計(jì)Java 的目標(biāo)之一是為了滿足人們對(duì)創(chuàng)建交互式網(wǎng)上程序的需要。為此,Java 支持多線程編程,因而你用 Java
編寫的應(yīng)用程序可以同時(shí)執(zhí)行多個(gè)任務(wù)。Java 運(yùn)行時(shí)系統(tǒng)在多線程同步方面具有成熟的解決方案,這使你能夠創(chuàng)建出運(yùn)行平穩(wěn)的交互式系統(tǒng)。Java
的多線程機(jī)制非常好用,因而你只需關(guān)注程序細(xì)節(jié)的實(shí)現(xiàn),不用擔(dān)心后臺(tái)的多任務(wù)系統(tǒng)。
五、結(jié)構(gòu)中立
Java設(shè)計(jì)者考慮的一個(gè)主要問題是程序代碼的持久性和可移植性。程序員面臨的一個(gè)主要問題是,不能保證今天編寫的程序明天能否在同一臺(tái)機(jī)器上順利運(yùn)行。操作系統(tǒng)升級(jí)、處理器升級(jí)以及核心系統(tǒng)資源的變化,都可能導(dǎo)致程序無法繼續(xù)運(yùn)行。Java設(shè)計(jì)者對(duì)這個(gè)問題做過多種嘗試,Java
虛擬機(jī)(JVM )就是試圖解決這個(gè)問題的。他們的目標(biāo)是“只要寫一次程序,在任何地方、任何時(shí)間該程序永遠(yuǎn)都能運(yùn)行”。在很大程度上,Java
實(shí)現(xiàn)了這個(gè)目標(biāo)。
六、解釋性和高性能
前面已解釋過,Java確實(shí)是一種解釋性語言,Java的字節(jié)碼經(jīng)過仔細(xì)設(shè)計(jì),因而很容易便能使用JIT
編譯技術(shù)將字節(jié)碼直接轉(zhuǎn)換成高性能的本機(jī)代碼。Java運(yùn)行時(shí)系統(tǒng)在提供這個(gè)特性的同時(shí)仍具有平臺(tái)獨(dú)立性,因而“高效且跨平臺(tái)”對(duì)Java 來說不再矛盾。
七、分布式
事實(shí)上,通過URL 地址存取資源與直接存取一個(gè)文件的差別是不太大的。Java 原來的版本(Oak)
包括了內(nèi)置的地址空格消息傳遞(intra-address-space) 特性。這允許位于兩臺(tái)不同的計(jì)算機(jī)上的對(duì)象可以遠(yuǎn)程地執(zhí)行過程。
八、動(dòng)態(tài)
Java
程序帶有多種的運(yùn)行時(shí)類型信息,用于在運(yùn)行時(shí)校驗(yàn)和解決對(duì)象訪問問題。這使得在一種安全、有效的方式下動(dòng)態(tài)地連接代碼成為可能,對(duì)小應(yīng)用程序環(huán)境的健壯性也十分重要,因?yàn)樵谶\(yùn)行時(shí)系統(tǒng)中,字節(jié)碼內(nèi)的小段程序可以動(dòng)態(tài)地被更新。