- 相關(guān)推薦
Java入門(mén)教程簡(jiǎn)介
Java 設計目的是讓專(zhuān)業(yè)程序員覺(jué)得既易學(xué)又好用。假設你有編程經(jīng)歷,你將不覺(jué)得Java 難掌握。下面是小編整理的關(guān)于Java入門(mén)教程簡(jiǎn)介,希望大家認真閱讀!
一、簡(jiǎn)單
如果你已經(jīng)理解面向對象編程的基本概念,學(xué)習Java 將更容易。如果你是一個(gè)經(jīng)驗豐富的C++ 程序員,那就最好了,學(xué)習Java 簡(jiǎn)直不費吹灰之力。因為Java 承C/C++ 語(yǔ)法和許多C++ 面向對象的特性,大多數程序員在學(xué)習Java 時(shí)都不會(huì )覺(jué)得太難。另外,C++中許多容易混淆的概念,或者被Java 棄之不用了,或者以一種更清楚、更易理解的方式實(shí)現。
除了和C/C++ 類(lèi)似以外,Java 的另外一個(gè)屬性也使它更容易學(xué)習:設計人員努力使Java 中不出現顯得讓人吃驚的特性。在Java 中,很少明確地告訴你如何才能完成一項特定的任務(wù)。
二、 面向對象
盡管受到其前輩的影響,但Java 沒(méi)被設計成兼容其他語(yǔ)言源代碼的程序。這允許Java 開(kāi)發(fā)組自由地從零開(kāi)始。這樣做的一個(gè)結果是,Java 語(yǔ)言可以更直接、更易用、更實(shí)際的接近對象。通過(guò)對近幾十年面向對象軟件優(yōu)點(diǎn)的借鑒,Java 設法在純進(jìn)化論者的“任何事物都是一個(gè)對象”和實(shí)用主義者的“不討論對象不對象”的論點(diǎn)之間找到了平衡。Java 的對象模型既簡(jiǎn)單又容易擴展,對于簡(jiǎn)單數據類(lèi)型,例如整數,它保持了高性能,但不是對象。三、健壯
萬(wàn)維網(wǎng)上多平臺的環(huán)境使得它對程序有特別的要求,因為程序必須在許多系統上可靠地執行。這樣,在設計Java 時(shí),創(chuàng )建健壯的程序被放到了高度優(yōu)先考慮的地位。為了獲得可靠性,Java 在一些關(guān)鍵的地方限制你,強迫你在程序開(kāi)發(fā)過(guò)程中及早發(fā)現錯誤。同時(shí),Java 使你不必擔心引起編程錯誤的許多最常見(jiàn)的問(wèn)題。因為Java 是一種嚴格的類(lèi)型語(yǔ)言,它不但在編譯時(shí)檢查代碼,而且在運行時(shí)也檢查代碼。事實(shí)上,在運行時(shí)經(jīng)常碰到的難以重現的、難以跟蹤的許多錯誤在Java 中幾乎是不可能產(chǎn)生的。要知道,使程序在不同的運行環(huán)境中以可預見(jiàn)的方式運行是Java 的關(guān)鍵特性。
為更好理解Java 是如何具有健壯性的,讓我們考慮使程序失敗的兩個(gè)主要原因:內存管理錯誤和誤操作引起的異常情況(也就是運行時(shí)錯誤)。在傳統的編程環(huán)境下,內存管理是一項困難、乏味的任務(wù)。例如,在C/C++ 中,程序員必須手工地分配并且釋放所有的動(dòng)態(tài)內存。這有時(shí)會(huì )導致問(wèn)題,因為程序員可能忘記釋放原來(lái)分配的內存,或者釋放了其他部分程序正在使用的內存。Java 通過(guò)替你管理內存分配和釋放,可以從根本上消除這些問(wèn)題(事實(shí)上,釋放內存是完全自動(dòng)的,因為Java 為閑置的對象提供內存垃圾自動(dòng)收集)。在傳統的環(huán)境下,異常情況可能經(jīng)常由“被零除”或“文件未找到”這樣的情況引起,而我們又必須用既繁多又難以理解的一大堆指令來(lái)對它們進(jìn)行管理。Java 通過(guò)提供面向對象的異常處理機制來(lái)解決這個(gè)問(wèn)題。一個(gè)寫(xiě)得很好的Java 程序,所有的運行時(shí)錯誤都可以并且應該被你的程序自己進(jìn)行管理。
四、多線(xiàn)程
設計Java 的目標之一是為了滿(mǎn)足人們對創(chuàng )建交互式網(wǎng)上程序的需要。為此,Java 支持多線(xiàn)程編程,因而你用 Java 編寫(xiě)的應用程序可以同時(shí)執行多個(gè)任務(wù)。Java 運行時(shí)系統在多線(xiàn)程同步方面具有成熟的解決方案,這使你能夠創(chuàng )建出運行平穩的交互式系統。Java 的多線(xiàn)程機制非常好用,因而你只需關(guān)注程序細節的實(shí)現,不用擔心后臺的多任務(wù)系統。
五、結構中立
Java 設計者考慮的一個(gè)主要問(wèn)題是程序代碼的持久性和可移植性。程序員面臨的一個(gè)主要問(wèn)題是,不能保證今天編寫(xiě)的程序明天能否在同一臺機器上順利運行。操作系統升級、處理器升級以及核心系統資源的變化,都可能導致程序無(wú)法繼續運行。Java 設計者對這個(gè)問(wèn)題做過(guò)多種嘗試,Java 虛擬機(JVM )就是試圖解決這個(gè)問(wèn)題的。他們的目標是“只要寫(xiě)一次程序,在任何地方、任何時(shí)間該程序永遠都能運行”。在很大程度上,Java 實(shí)現了這個(gè)目標。
六、解釋性和高性能
前面已提到,通過(guò)把程序編譯為Java 字節碼這樣一個(gè)中間過(guò)程,Java 可以產(chǎn)生跨平臺運行的程序。字節碼可以在提供Java 虛擬機(JVM )的任何一種系統上被解釋執行。早先的許多嘗試解決跨平臺的方案對性能要求都很高。其他解釋執行的語(yǔ)言系統,如BASIC,Tcl,PERL 都有無(wú)法克服的性能缺陷。然而,Java 卻可以在非常低檔的CPU 上順利運行。前面已解釋過(guò),Java 確實(shí)是一種解釋性語(yǔ)言,Java 的字節碼經(jīng)過(guò)仔細設計,因而很容易便能使用JIT 編譯技術(shù)將字節碼直接轉換成高性能的本機代碼。Java 運行時(shí)系統在提供這個(gè)特性的同時(shí)仍具有平臺*立性,因而“高效且跨平臺”對Java 來(lái)說(shuō)不再矛盾。
七、分布式
Java 為Internet 的分布式環(huán)境而設計,因為它處理TCP/IP 協(xié)議。事實(shí)上,通過(guò)URL 地址存取資源與直接存取一個(gè)文件的差別是不太大的。Java 原來(lái)的版本(Oak) 包括了內置的地址空格消息傳遞(intra-address-space) 特性。這允許位于兩臺不同的計算機上的對象可以遠程地執行過(guò)程。Java 最近發(fā)布了叫做遠程方法調用(Remote Method Invocation ,RMI )的軟件包,這個(gè)特性使客戶(hù)機/服務(wù)器編程達到了無(wú)與倫比的抽象級。
八、動(dòng)態(tài)
Java 程序帶有多種的運行時(shí)類(lèi)型信息,用于在運行時(shí)校驗和解決對象訪(fǎng)問(wèn)問(wèn)題。這使得在一種安全、有效的方式下動(dòng)態(tài)地連接代碼成為可能,對小應用程序環(huán)境的健壯性也十分重要,因為在運行時(shí)系統中,字節碼內的小段程序可以動(dòng)態(tài)地被更新。
【Java入門(mén)教程簡(jiǎn)介】相關(guān)文章:
JAVA認證簡(jiǎn)介10-02
SUN認證JAVA程序員簡(jiǎn)介09-29
XML入門(mén)教程10-22
JavaScript入門(mén)教程09-01
CSS入門(mén)教程09-05
瑜伽入門(mén)教程11-01
梵語(yǔ)入門(mén)教程08-20
XHTML入門(mén)教程08-28
css的入門(mén)教程11-01