愛(ài)上Java和JVM的10大理由
1.高性能JVM
Java最初的開(kāi)發(fā)目的“一次編寫到處運(yùn)行”,并由虛擬機(jī)提供運(yùn)行平臺(tái)。沒(méi)有JVM,Java就必須遵循Ruby和Python的步伐——在痛苦中進(jìn)一步提高其便攜性。隨著物聯(lián)網(wǎng)的出現(xiàn),一個(gè)強(qiáng)大的虛擬機(jī)變得越來(lái)越重要。
2.核心API
最讓人喜歡的就是Java核心API——從它誕生之后就可以完全向后兼容,這樣我們就可以開(kāi)始寫更多的Java應(yīng)用。雖然有無(wú)數(shù)額外的庫(kù)和JVM語(yǔ)言可以提供簡(jiǎn)潔的語(yǔ)言水平,以獲取多種核心API功能,但其中大部分實(shí)際上是依賴于Java核心API的支配。雖然也有其他語(yǔ)言紛紛效仿,但很少能像Java保持得如此穩(wěn)定。
3.編譯器
還有很多值得欣賞的Java編譯器——將你的源代碼轉(zhuǎn)換成字節(jié)碼,然后再成為可執(zhí)行文件——更由于JIT的出現(xiàn),將其他的直譯程式比到了塵埃里。并且天生簡(jiǎn)潔的Java編譯器能讓開(kāi)發(fā)人員只需將注意力放在代碼上,而無(wú)需關(guān)注編譯器架構(gòu)。
4.字節(jié)碼
和編譯器一樣,在Java字節(jié)碼中,簡(jiǎn)單才是王道。它可以大大降低了寫出潛在錯(cuò)誤代碼的幾率。并且也不需要第三方字節(jié)碼操作工具。
5.內(nèi)存模型
通過(guò)在JVM里提供一個(gè)獨(dú)立于硬件的內(nèi)存模型,Java就沒(méi)有必要卸載外部庫(kù)。這使得該語(yǔ)言、核心API、編譯器可以同心協(xié)力,一起來(lái)為并行操作提供穩(wěn)定基礎(chǔ)和共享狀態(tài)。
6.開(kāi)源
當(dāng)涉及到開(kāi)放源代碼時(shí),Java也不例外。關(guān)于Java的特殊之處就是它居然將OSS理念廣泛地滲透到其生態(tài)系統(tǒng)中——無(wú)論是移動(dòng)形式還是企業(yè)乃至世界上一些決定性的系統(tǒng)。而其他唯一能和它媲美的就只有Linux。
7.智能化的集成開(kāi)發(fā)環(huán)境
隨著2015年IntelliJ IDEA、NetBeans和Eclipse的三位一體,當(dāng)涉及到需要尋找免費(fèi)的開(kāi)源開(kāi)發(fā)環(huán)境時(shí),開(kāi)發(fā)人員擁有了更為奢侈的選擇—— 它的插件套組和服務(wù)真正更上一層樓。
8.分析工具
眾所周知,假設(shè)總是讓人很郁悶,這時(shí)就需要分析工具上場(chǎng)了。開(kāi)發(fā)人員可以通過(guò)各種已經(jīng)被打包為JDK的分析工具來(lái)解決這些“假設(shè)”問(wèn)題。
9.向后兼容性
當(dāng)涉及到兼容性,Java成績(jī)斐然。基于其可向后兼容的特性,使得Java社區(qū)可以站在彼此的肩膀上共同鑄就Java語(yǔ)言二十年的輝煌—— 當(dāng)然還有一個(gè)主要因素是,語(yǔ)言的長(zhǎng)壽。
10.成熟與創(chuàng)新
俗話說(shuō),長(zhǎng)江后浪推前浪、一代新人換舊人,技術(shù)領(lǐng)域的也是如此。很多人會(huì)覺(jué)得Java已經(jīng)很老了,不再適合入門語(yǔ)言。但是,寶刀未老的Java依然不但具有出色的可靠性,而且非常穩(wěn)定。團(tuán)隊(duì)也能輕易使用它來(lái)創(chuàng)建產(chǎn)品,同時(shí)避免踩到任何人的短處。
簡(jiǎn)而言之就是,
“智能集成開(kāi)發(fā)環(huán)境、向后兼容的平臺(tái)、大規(guī)模的核心API、充滿活力的開(kāi)源社區(qū)、可讀而封裝的語(yǔ)言,使得Java成為了團(tuán)隊(duì)合作的***橋梁。”