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