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ū)ο蟮奶匦蚤_(kāi)始吧,原因你懂的。如果有新學(xué)習(xí)的小伙伴可以自己去搜索一些相關(guān)的內(nèi)容〖嗍龋現(xiàn)在開(kāi)始還是先談?wù)劚扇藢?duì)面向?qū)ο蟮睦斫獍伞?br>
1.面向?qū)ο?/p>
? ? ? ? 眾所周知谐檀,java是面向?qū)ο蟮木幊陶Z(yǔ)言。那么何為“面向?qū)ο蟆蹦夭闷妫窟@里就要引入一個(gè)思想桐猬,我們都知道有這么一句話(huà):世界上沒(méi)有完全相同的兩片葉子。也就說(shuō)是世界上的每一個(gè)事物都是獨(dú)立的不完全相同的刽肠,都可以看做一個(gè)特定的對(duì)象溃肪。這個(gè)就是“萬(wàn)物皆對(duì)象”的java思想。抽取一些對(duì)象的共同特性就形成了類(lèi)的概念音五。例如:我們大家每 一個(gè)人都是一個(gè)對(duì)象惫撰,但我們都有一些相似的地方,比如我們都有兩之手躺涝、兩條腿厨钻、兩只眼睛 (這里只是隨便舉例)等等。抽取這些特性就形成了一個(gè)人類(lèi)的概念:就是滿(mǎn)足 些特征就可以稱(chēng)之為人坚嗜。有了類(lèi)就可以實(shí)例化(由抽象的類(lèi)的概念具化一個(gè)對(duì)象)出對(duì)象莉撇, Java中的所有元素都要通過(guò)類(lèi)或?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)性抓狭〔。可移植性是類(lèi)似于跨平臺(tái)的概念。但是跨平臺(tái)可能更傾向于同樣硬件架構(gòu)的不同軟件環(huán)境比如P運(yùn)行Windows 和 linux OS通俗的話(huà)說(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è)種類(lèi):檢查異常贩虾、運(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目前的開(kāi)發(fā)狀況
? ? 就目前情況來(lái)看哆档,java的開(kāi)發(fā)方向主要有一下三個(gè)方向:
? 1.? ? ? 桌面程序的開(kāi)發(fā)
? 2.? ? ? 網(wǎng)頁(yè)程序的開(kāi)發(fā)
? 3.? ? ? 嵌入式系統(tǒng)程序的開(kāi)發(fā)
感受:
? ? 學(xué)習(xí)java的路很長(zhǎng)蔽挠,路上的困難和荊棘。數(shù)不勝數(shù)瓜浸,只有一心一意澳淑,不忘初衷才有可能收獲成果。而最好的方法是讓其變成自己的興趣插佛,因?yàn)榕d趣才是最好的老師偶惠。