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