<img src="http://superiorchevroletnewjersey.com/file/upload/202305/25/203640931.png" title="現(xiàn)在學(xué)Java還有發(fā)展前途嗎"Java還有發(fā)展前途嗎?" alt="現(xiàn)在學(xué)Java還有發(fā)展前途嗎?">
學(xué)Java還有發(fā)展前途嗎?市場(chǎng)是不是飽和了?學(xué)Java能找到好工作么?你是不是也有或者也聽(tīng)見(jiàn)過(guò)這樣的疑問(wèn)?然而,通過(guò)所有外部表現(xiàn)來(lái)看,Java仍活著,并且正在發(fā)展。一起來(lái)看看屹立不倒的Java具備哪些獨(dú)特的魅力。
盡管許多新語(yǔ)言各領(lǐng)風(fēng)騷,開(kāi)發(fā)語(yǔ)言排行榜(TIOBE)上Java在2017年仍居榜首,遠(yuǎn)遠(yuǎn)超過(guò)其他語(yǔ)言。
另一方面,PYPL index根據(jù)Google搜索頻率為編程語(yǔ)言排名,展示Java以總搜索量的23.9%遙遙領(lǐng)先。
近兩年有很多Java死灰復(fù)燃的原因(Android開(kāi)發(fā)的爆炸式增長(zhǎng),Java 8的發(fā)布,Spring社區(qū)的活躍,尤其是Spring
Boot),市場(chǎng)優(yōu)勢(shì)來(lái)自于偉大的產(chǎn)品。這就是為什么我們認(rèn)為Java并不會(huì)消亡的原因。
Java虛擬機(jī)和Java生態(tài)環(huán)境
Java虛擬機(jī),或稱JVM,將程序編譯成字節(jié)碼,稍后被JVM解析執(zhí)行。因?yàn)镴VM根植于你的特定硬件和系統(tǒng),它允許Java在各處運(yùn)行,Windows、Mac或各種Linux。
JVM帶來(lái)的巨大優(yōu)勢(shì)就是它提供的強(qiáng)大兼容性和穩(wěn)定性。因?yàn)槟愕膽?yīng)用運(yùn)行在虛擬機(jī)上而不是直接運(yùn)行在硬件上,你可以編寫一次應(yīng)用并運(yùn)行在每個(gè)有Java虛擬機(jī)的設(shè)備上。這也是Java核心原則:“一次編寫,到處運(yùn)行”。這也讓Java應(yīng)用面對(duì)環(huán)境變化時(shí)有更大彈性。
安全性和互操作性
Android環(huán)境就是Java安全性和互操作性的典型代表。Android占全球手機(jī)市場(chǎng)89%,運(yùn)行基于Java。因?yàn)镴ava允許操作系統(tǒng)運(yùn)行在虛擬機(jī)中,并不需要在每臺(tái)設(shè)備上編譯,提高了系統(tǒng)的穩(wěn)定性和易用性。
Android展現(xiàn)出的Java另一個(gè)優(yōu)點(diǎn)就是與其他基于JVM語(yǔ)言的互操作,比如Scala、Groovy、Clojure、JRuby等等。你可以選擇使用這些“更加動(dòng)態(tài)”的語(yǔ)言來(lái)構(gòu)建你的應(yīng)用,并在需要更多性能的時(shí)候重拾Java。
巨大的Android市場(chǎng)在內(nèi)部開(kāi)發(fā)中也存在危險(xiǎn)。Android+Java允許用戶運(yùn)行不受信任的應(yīng)用,并通過(guò)虛擬機(jī)來(lái)運(yùn)行所有應(yīng)用來(lái)緩解這種危險(xiǎn)。因此,應(yīng)用充分利用操作系統(tǒng)核心的唯一方式就是放棄虛擬機(jī)的實(shí)現(xiàn),也就是那個(gè)非常小的、被安全層緊緊保護(hù)的虛擬機(jī)。
Java的實(shí)際應(yīng)用規(guī)模
Amazon、Google、eBay和許多其他大型電商使用Java作為它們的后臺(tái)。它們使用Java是因?yàn)镴ava久經(jīng)考驗(yàn)并且可伸縮。任何語(yǔ)言的后臺(tái)只能支撐少量用戶,但Java可以處理200m或等多。讓我們看幾個(gè)典型例子:
Apache
Hadoop是支持在大規(guī)模硬件集群上運(yùn)行應(yīng)用的的Java框架。它被設(shè)計(jì)用來(lái)為那些操作和處理大數(shù)據(jù)的應(yīng)用提供高吞吐量。如今Hadoop被許多公司,如Facebook、Amazon、IBM、Joost和Yahoo來(lái)處理數(shù)據(jù)、分析或生成記錄。
Hadoop的創(chuàng)造者Doug
Cutting說(shuō)過(guò):”Java協(xié)調(diào)了開(kāi)發(fā)者開(kāi)發(fā)效率和程序執(zhí)行效率。開(kāi)發(fā)者受益于這種簡(jiǎn)單、強(qiáng)大、類型安全的語(yǔ)言和豐富的高質(zhì)量庫(kù)?!焙?jiǎn)而言之:大數(shù)據(jù)離不開(kāi)Hadoop,Hadoop離不開(kāi)Java。
對(duì)于Oracle團(tuán)隊(duì)和Java來(lái)說(shuō),Twitter是近幾年眾人皆知的巨大成功。最初由Ruby on
Rails構(gòu)建,Twitter流行度急速上升,同時(shí)RoR框架可伸縮性的缺陷也清晰暴露出來(lái)?!癋ail
Whales(失敗鯨)”(Twitter宕機(jī)時(shí)的標(biāo)志畫面)也頻繁出現(xiàn),直到Twitter在2012年轉(zhuǎn)向Java。如今Twitter運(yùn)行在Java+Scala之上,F(xiàn)ail
Whales(失敗鯨)也不復(fù)存在。
Minecraft
Minecraft是款不可思議的成功游戲。開(kāi)發(fā)團(tuán)隊(duì)通過(guò)它賺了上百萬(wàn)美元,然后以25億美元價(jià)格賣給微軟。Minecraft運(yùn)行在Java之上。
龐大的的Java社區(qū)幫助Minecraft蔓延到成千上萬(wàn)的游戲mod。同時(shí)Minecraft向新一代開(kāi)發(fā)者推薦Java。Google上搜索”Minecraft
mod制作”會(huì)返回65.3萬(wàn)的結(jié)果,其中大多是教12歲以下人群如何編程。
其中一款開(kāi)源工具是Eureka,人們用它來(lái)跟蹤用戶登錄Netflix所使用的設(shè)備,并交叉校驗(yàn)動(dòng)作和最近活動(dòng),來(lái)確保當(dāng)前賬戶是安全的。
Java的未來(lái)
Java
9的到來(lái)把語(yǔ)言中眾多函數(shù)拆分成許多小組件,意在讓Java更加快速和易用。Oracle的巨大投入(雖然總被黑)幫助Java一方面可以繼續(xù)支持企業(yè)依賴,另一方面也可以有所新的發(fā)展。
Java和物聯(lián)網(wǎng)(Internet of things)
“我認(rèn)為Java的未來(lái)就在物聯(lián)網(wǎng)(IoT)之中。我很想看到Oracle和合作伙伴致力于完善Java端對(duì)端的存儲(chǔ)解決方案,從設(shè)備通過(guò)網(wǎng)關(guān)到達(dá)企業(yè)后臺(tái)。如果能夢(mèng)想成真并取得成功,將鞏固Java在未來(lái)20年中的地位。這對(duì)于行業(yè)來(lái)說(shuō)是巨大的挑戰(zhàn),我相信Java能夠勝任?!盓clipse基金會(huì)執(zhí)行董事Mike
Milinkovich這樣說(shuō)。
Oracle贊同這點(diǎn)。Development Georges
Saab副總裁說(shuō):“Java對(duì)于物聯(lián)網(wǎng)(IoT)來(lái)說(shuō)是很棒的技術(shù)。物聯(lián)網(wǎng)很多挑戰(zhàn)是桌面和客戶端的挑戰(zhàn),上世紀(jì)90年代Java已經(jīng)解決?,F(xiàn)在有很多不同的硬件設(shè)備。你想讓開(kāi)發(fā)者關(guān)注系統(tǒng)的各個(gè)層面,理解并運(yùn)用。Java是少數(shù)能讓你這樣做的技術(shù)之一?!?/p>
Java+stormpath
有不少批評(píng)Java的人,他們部分爭(zhēng)論的焦點(diǎn)或許有一些說(shuō)服力,但這也是好事,比如優(yōu)秀的部署工具、性能分析、Java虛擬機(jī)、龐大的庫(kù)等等。在Stormpath,我們的后端完全用Java開(kāi)發(fā),并且我們升級(jí)到了Spring
Boot。Java萬(wàn)歲。
感謝大家閱讀由java問(wèn)答欄目分享的“現(xiàn)在學(xué)Java還有發(fā)展前途嗎?”希望對(duì)大家有所幫助,更多精彩內(nèi)容請(qǐng)關(guān)注Java培訓(xùn)官網(wǎng)
免責(zé)聲明:本文由小編轉(zhuǎn)載自網(wǎng)絡(luò),旨在分享提供閱讀,版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們進(jìn)行刪除