1. java的來(lái)源
? ? ? 說(shuō)到j(luò)ava就不得不說(shuō)詹姆斯·高斯林,此人是JAVA編程語(yǔ)言的創(chuàng)始人。這里提供一個(gè)百度百科鏈接: http://baike.baidu.com/link?url=SDG9Vx070LRnB4adG8_-ByFJxBUUIf9LHQSZUDjhWsqh0OFVlnbQ2JxWfVSf_dZcKhNMiC1jBrfGxq3KCTmAr87hD0lWElpy1Id59EgxzNu有興趣的朋友可以看一下。鄙人在這里就不進(jìn)行贅述了。
2.java的特性
? ? ? 說(shuō)到j(luò)ava的特性我們還是先從面向?qū)ο蟮奶匦蚤_始吧,原因你懂的。如果有新學(xué)習(xí)的小伙伴可以自己去搜索一些相關(guān)的內(nèi)容。現(xiàn)在開始還是先談?wù)劚扇藢?duì)面向?qū)ο蟮睦斫獍伞?/p>
1.面向?qū)ο?/p>
? ? ? ? 眾所周知,java是面向?qū)ο蟮木幊陶Z(yǔ)言。那么何為“面向?qū)ο蟆蹦兀窟@里就要引入一個(gè)思想,我們都知道有這么一句話:世界上沒(méi)有完全相同的兩片葉子。也就說(shuō)是世界上的每一個(gè)事物都是獨(dú)立的不完全相同的,都可以看做一個(gè)特定的對(duì)象。這個(gè)就是“萬(wàn)物皆對(duì)象”的java思想。抽取一些對(duì)象的共同特性就形成了類的概念。例如:我們大家每 一個(gè)人都是一個(gè)對(duì)象,但我們都有一些相似的地方,比如我們都有兩之手、兩條腿、兩只眼睛 (這里只是隨便舉例)等等。抽取這些特性就形成了一個(gè)人類的概念:就是滿足 些特征就可以稱之為人。有了類就可以實(shí)例化(由抽象的類的概念具化一個(gè)對(duì)象)出對(duì)象, Java中的所有元素都要通過(guò)類或?qū)ο髞?lái)訪問(wèn)。而面向?qū)ο笠灿腥筇匦?封 裝、多態(tài)、繼承。這里先不多說(shuō)。
2.分布性
? ? ? Java的分布性具體包括操作分布和數(shù)據(jù)分布,所謂“操作分布”就是一個(gè)指可以在多個(gè)不同的主機(jī)上布置相關(guān)操作。而“數(shù)據(jù)分布”也是可以將數(shù)據(jù)存放在多個(gè)不同的主機(jī)上。這些主機(jī)之間彼此通過(guò)網(wǎng)絡(luò)連接。java可以通過(guò)URL對(duì)象訪問(wèn)網(wǎng)絡(luò)對(duì)象。
3.可移植性
? ? ? 提到可移植性就自然而然的要講到到j(luò)ava的的跨平臺(tái)性。可移植性是類似于跨平臺(tái)的概念。但是跨平臺(tái)可能更傾向于同樣硬件架構(gòu)的不同軟件環(huán)境比如P運(yùn)行Windows 和 linux OS通俗的話說(shuō):一次編譯,到處執(zhí)行,在windows下編譯,可以在linux下運(yùn)行。而可移植性,更傾向于強(qiáng)調(diào)硬件,比如 java可以運(yùn)行在 x86機(jī)器上,同樣的程序拿到64位機(jī)器上一樣使用。
4.可移植性
? 運(yùn)行java程序需要解釋器,任何移植了java解釋器的計(jì)算機(jī)或設(shè)備都可以用java字節(jié)碼進(jìn)行執(zhí)行。所謂java解釋器就是把在java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(java代碼編譯后成字節(jié)碼)解釋成為具體平臺(tái)的機(jī)器碼的程序。注意這里要知道解釋器并不是編譯器。即jdk或jre目錄下bin目錄中的java.exe文件,而javac.exe是編譯器。
5.安全性
? ? ? Java刪除像C語(yǔ)言中指針和內(nèi)存釋放的語(yǔ)法。所有的內(nèi)存操作都交給JVM(java虛擬機(jī))進(jìn)行處理,避免了對(duì)內(nèi)存的非法操作。因此增加的程序的安全性。
6.健壯性
? ? ? 個(gè)人java的健壯性主要體現(xiàn)在對(duì)異常的處理上面,異常的3個(gè)種類:檢查異常、運(yùn)行時(shí)異常、錯(cuò)誤,當(dāng)異常發(fā)生時(shí),JVM會(huì)在終止程序前,把調(diào)用棧跟蹤信息打印出來(lái),上面記錄了錯(cuò)誤的發(fā)生順序,現(xiàn)在先直說(shuō)這么多,以后我們還會(huì)再說(shuō)到異常。
7.多線程
? ? ? Java的多線程機(jī)制就是程序在同一時(shí)間并行執(zhí)行多項(xiàng)任務(wù),而且相應(yīng)的同步機(jī)制可以確保線程之間正確的共享數(shù)據(jù)。?
? ? ? 好了,小伙伴們,java的特性就先講到這。鄙人能歷有限,若有缺失,還望諒解。
3.java目前的開發(fā)狀況
? ? 就目前情況來(lái)看,java的開發(fā)方向主要有一下三個(gè)方向:
? 1.? ? ? 桌面程序的開發(fā)
? 2.? ? ? 網(wǎng)頁(yè)程序的開發(fā)
? 3.? ? ? 嵌入式系統(tǒng)程序的開發(fā)
感受:
? ? 學(xué)習(xí)java的路很長(zhǎng),路上的困難和荊棘。數(shù)不勝數(shù),只有一心一意,不忘初衷才有可能收獲成果。而最好的方法是讓其變成自己的興趣,因?yàn)榕d趣才是最好的老師。