Java 消亡了?不!原因在這…
本文由碼農網 – 孫騰浩原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
年復一年,關於”Java消亡了?”的疑問頻繁湧現,然而,通過所有外部表現來看,Java仍活著,並且在發展。儘管許多新語言各領風騷,開發語言排行榜(TIOBE)上Java在2015年仍居榜首,並比2014年增長了5%的使用量,遠遠超過其他語言。
另一方面,PYPL index根據Google搜尋頻率為程式語言排名,展示Java以總搜尋量的23.9%遙遙領先。
近兩年有很多Java死灰復燃的原因(Android開發的爆炸式增長,Java 8的釋出,Spring社群的活躍,尤其是Spring Boot),市場優勢來自於偉大的產品。這就是為什麼我們認為Java並不會消亡的原因。
Java虛擬機器和Java生態環境
Java虛擬機器,或稱JVM,將程式編譯成位元組碼,稍後被JVM解析執行。因為JVM根植於你的特定硬體和系統,它允許Java在各處執行,Windows、Mac或各種Linux。
JVM帶來的巨大優勢就是它提供的強大相容性和穩定性。因為你的應用執行在虛擬機器上而不是直接執行在硬體上,你可以編寫一次應用並執行在每個有Java虛擬機器的裝置上。這也是Java核心原則:“一次編寫,到處執行”。這也讓Java應用面對環境變化時有更大彈性。
安全性和互操作性
Android環境就是Java安全性和互操作性的典型代表。Android佔全球手機市場89%,執行基於Java。因為Java允許作業系統執行在虛擬機器中,並不需要在每臺裝置上編譯,提高了系統的穩定性和易用性。
Android展現出的Java另一個優點就是與其他基於JVM語言的互操作,比如Scala、Groovy、Clojure、JRuby等等。你可以選擇使用這些“更加動態”的語言來構建你的應用,並在需要更多效能的時候重拾Java。
巨大的Android市場在內部開發中也存在危險。Android+Java允許使用者執行不受信任的應用,並通過虛擬機器來執行所有應用來緩解這種危險。因此,應用充分利用作業系統核心的唯一方式就是放棄虛擬機器的實現,也就是那個非常小的、被安全層緊緊保護的虛擬機器。
Java的實際應用規模
Amazon、Google、eBay和許多其他大型電商使用Java作為它們的後臺。它們使用Java是因為Java久經考驗並且可伸縮。任何語言的後臺只能支撐少量使用者,但Java可以處理200m或等多。讓我們看幾個典型例子:
Hadoop
Apache Hadoop是支援在大規模硬體叢集上執行應用的的Java框架。它被設計用來為那些操作和處理大資料的應用提供高吞吐量。如今Hadoop被許多公司,如Facebook、Amazon、IBM、Joost和Yahoo來處理資料、分析或生成記錄。
Hadoop的創造者Doug Cutting說過:”Java協調了開發者開發效率和程式執行效率。開發者受益於這種簡單、強大、型別安全的語言和豐富的高質量庫。”簡而言之:大資料離不開Hadoop,Hadoop離不開Java。
對於Oracle團隊和Java來說,Twitter是近幾年眾人皆知的巨大成功。最初由Ruby on Rails構建,Twitter流行度急速上升,同時RoR框架可伸縮性的缺陷也清晰暴露出來。“Fail Whales(失敗鯨)”(Twitter當機時的標誌畫面)也頻繁出現,直到Twitter在2012年轉向Java。如今Twitter執行在Java+Scala之上,Fail Whales(失敗鯨)也不復存在。
Minecraft
Minecraft是款不可思議的成功遊戲。開發團隊通過它賺了上百萬美元,然後以25億美元價格賣給微軟。Minecraft執行在Java之上。
龐大的的Java社群幫助Minecraft蔓延到成千上萬的遊戲mod。同時Minecraft向新一代開發者推薦Java。Google上搜尋”Minecraft mod製作”會返回65.3萬的結果,其中大多是教12歲以下人群如何程式設計。
其中一款開源工具是Eureka,人們用它來跟蹤使用者登入Netflix所使用的裝置,並交叉校驗動作和最近活動,來確保當前賬戶是安全的。
Java的未來
去年,Oracle宣佈Java 9預計在2016年9月到來。這次更新把語言中眾多函式拆分成許多小元件,意在讓Java更加快速和易用。Oracle的巨大投入(雖然總被黑)幫助Java一方面可以繼續支援企業依賴,另一方面也可以有所新的發展。
Java和物聯網(Internet of Things)
“我認為Java的未來就在物聯網(IoT)之中。我很想看到Oracle和合作夥伴致力於完善Java端對端的儲存解決方案,從裝置通過閘道器到達企業後臺。如果能夢想成真並取得成功,將鞏固Java在未來20年中的地位。這對於行業來說是巨大的挑戰,我相信Java能夠勝任。”Eclipse基金會執行董事Mike Milinkovich這樣說。
Oracle贊同這點。Development Georges Saab副總裁說:“Java對於物聯網(IoT)來說是很棒的技術。物聯網很多挑戰是桌面和客戶端的挑戰,上世紀90年代Java已經解決。現在有很多不同的硬體裝置。你想讓開發者關注系統的各個層面,理解並運用。Java是少數能讓你這樣做的技術之一。”
Java + Stormpath
有不少批評Java的人,他們部分爭論的焦點或許有一些說服力,但這也是好事,比如優秀的部署工具、效能分析、Java虛擬機器、龐大的庫等等。在Stormpath,我們的後端完全用Java開發,並且我們升級到了Spring Boot。Java萬歲。
譯文連結:http://www.codeceo.com/article/java-no-die.html
英文原文:Is Java Dead? No! Here’s Why...
翻譯作者:碼農網 – 孫騰浩
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 原創文章檢測工具,檢測原創文章,過不了原創賬號的原因在這
- 網際網路證券一直不溫不火 原因在哪裡?
- Hollis原創|不瞭解這12個語法糖,別說你會JavaJava
- 為什麼建議大家都學習Python語言?原因在這Python
- 這篇 Java 基礎,我吹不動了Java
- java列舉原來還能這麼用Java
- 原來Java的發家史是這麼回事Java
- Python:請原諒我這放蕩不羈的存在Python
- 最新資訊:MacBook安裝Windows系統後耗電快的原因在這裡MacWindows
- 為什麼建議大家學習參加Python培訓?原因在這裡!Python
- 大清都亡了,你還用for...in...遍歷物件呢物件
- 原來 GitHub 不僅能學程式碼,還有這些東西Github
- 掌握這些技巧,角色原畫和建模再也不會打架了
- Java時間格式化原來這麼多玩法Java
- JavaScript設計原則&&常用設計模【瞅一眼這波不虧】JavaScript
- 不藏了,這些Java反射用法總結都告訴你們Java反射
- java的kafka生產消費JavaKafka
- 用 Java 訓練深度學習模型,原來可以這麼簡單!Java深度學習模型
- 原來AI離我這麼這麼這麼這麼近!AI
- 微軟回應谷歌:你們不代表消費者微軟谷歌
- JSP原來也不難JS
- Java原來還可以這麼學:如何搞定面試中必考的集合類Java面試
- Java CompletableFuture因在上下文中使用共享變數,導致執行緒安全問題Java變數執行緒
- 消滅 Java 程式碼的“壞味道”Java
- Java (原創) (轉)Java
- 這麼簡單,還不會使用java8 stream流的map()方法嗎?Java
- 如果你還不瞭解 Java Class 檔案結構,來看看這篇吧Java
- 命令列不會?看這裡命令列
- 這樣delete居然不走索引delete索引
- 原來還能這樣看Java執行緒的狀態及轉換Java執行緒
- 原來Oracle也不喜歡“蜀黍”Oracle
- 試用期沒過,因在公司上了1024網站。。。網站
- 圖解 | 原來這就是 class圖解
- 哦?原來這就是 JVM 垃圾!JVM
- 圖解 | 原來這就是TCP圖解TCP
- 原來入門這麼難
- vue原來可以這樣上手Vue
- Vuex原來可以這樣上手Vue