Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球大的開發者專業社群。
給你java學習路線:html-css-js-jq-javase-數據庫-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
然而,通過所有外部表現來看,
Java仍活著,并且正在發展。
盡管許多新語言各領風騷,
開發語言排行榜(TIOBE)上Java在2015年仍居榜首,
并比2014年增長了5%的使用量,
遠遠超過其他語言。
另一方面,PYPL index根據Google搜索頻率為編程語言排名,展示Java以總搜索量的23.9%遙遙領先。如果你也是在學習Java,小編推薦一個學Java的學習裙【 六五零,五五四,六零七 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!
近兩年有很多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已經解決?,F在有很多不同的硬件設備。你想讓開發者關注系統的各個層面,理解并運用。Java是少數能讓你這樣做的技術之一。”(相關推薦:Java程序員要掌握的21核心技術)
Java+stormpath
有不少批評Java的人,他們部分爭論的焦點或許有一些說服力,但這也是好事,比如優秀的部署工具、性能分析、Java虛擬機、龐大的庫等等。在Stormpath,我們的后端完全用Java開發,并且我們升級到了Spring Boot。Java萬歲。