愛上Java和JVM的10大理由
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
Java和JVM已經存在了很長一段時間了,基於這個事實,一些程式設計師開始將很多事情視為理所當然。今天我們就來說一說“Java之所以能夠成為並將繼續是軟體專案領先平臺”的十大理由。
1.高效能JVM
Java最初的開發目的“一次編寫到處執行”,並由虛擬機器提供執行平臺。沒有JVM,Java就必須遵循Ruby和Python的步伐——在痛苦中進一步提高其便攜性。隨著物聯網的出現,一個強大的虛擬機器變得越來越重要。
2.核心API
最讓人喜歡的就是Java核心API——從它誕生之後就可以完全向後相容,這樣我們就可以開始寫更多的Java應用。雖然有無數額外的庫和JVM語言可以提供簡潔的語言水平,以獲取多種核心API功能,但其中大部分實際上是依賴於Java核心API的支配。雖然也有其他語言紛紛效仿,但很少能像Java保持得如此穩定。
3.編譯器
還有很多值得欣賞的Java編譯器——將你的原始碼轉換成位元組碼,然後再成為可執行檔案——更由於JIT的出現,將其他的直譯程式比到了塵埃裡。並且天生簡潔的Java編譯器能讓開發人員只需將注意力放在程式碼上,而無需關注編譯器架構。
4.位元組碼
和編譯器一樣,在Java位元組碼中,簡單才是王道。它可以大大降低了寫出潛在錯誤程式碼的機率。並且也不需要第三方位元組碼操作工具。
5.記憶體模型
通過在JVM裡提供一個獨立於硬體的記憶體模型,Java就沒有必要解除安裝外部庫。這使得該語言、核心API、編譯器可以同心協力,一起來為並行操作提供穩定基礎和共享狀態。
6.開源
當涉及到開放原始碼時,Java也不例外。關於Java的特殊之處就是它居然將OSS理念廣泛地滲透到其生態系統中——無論是移動形式還是企業乃至世界上一些決定性的系統。而其他唯一能和它媲美的就只有Linux。
7.智慧化的整合開發環境
隨著2015年IntelliJ IDEA、NetBeans和Eclipse的三位一體,當涉及到需要尋找免費的開源開發環境時,開發人員擁有了更為奢侈的選擇—— 它的外掛套組和服務真正更上一層樓。
8.分析工具
眾所周知,假設總是讓人很鬱悶,這時就需要分析工具上場了。開發人員可以通過各種已經被打包為JDK的分析工具來解決這些“假設”問題。
9.向後相容性
當涉及到相容性,Java成績斐然。基於其可向後相容的特性,使得Java社群可以站在彼此的肩膀上共同鑄就Java語言二十年的輝煌—— 當然還有一個主要因素是,語言的長壽。
10.成熟與創新
俗話說,長江後浪推前浪、一代新人換舊人,技術領域的也是如此。很多人會覺得Java已經很老了,不再適合入門語言。但是,寶刀未老的Java依然不但具有出色的可靠性,而且非常穩定。團隊也能輕易使用它來建立產品,同時避免踩到任何人的短處。
簡而言之就是,
“智慧整合開發環境、向後相容的平臺、大規模的核心API、充滿活力的開源社群、可讀而封裝的語言,使得Java成為了團隊合作的完美橋樑。”
譯文連結:http://www.codeceo.com/article/10-reasons-to-love-java-jvm.html
英文原文:10 Reasons to Love Java and the JVM: Reconnecting with Your Warm and Fuzzies
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 愛上谷歌文件Docs的十大理由谷歌
- 愛上 SQLAlchemy 的 10 個理由SQL
- 國外程式設計師愛用蘋果Mac電腦的10大理由程式設計師蘋果Mac
- 愛上Java診斷利器之ArthasJava
- JVM上的併發和Java記憶體模型之同步塊筆記JVMJava記憶體模型筆記
- JVM上的Pandas: tablesawJVM
- JVM的棧上分配JVM
- JVM筆記 -- Java跨平臺和JVM跨語言JVM筆記Java
- 你不要升級到 Windows 10 的 10 大理由Windows
- JVM(三):深入分析Java位元組碼-上JVMJava
- 如何用JMX連線本地JVM上執行的Java程式JVMJava
- 一文理清JVM和GC(上)JVMGC
- 程式設計師必定會愛上的10款軟體程式設計師
- 每個 Java 開發者應該知道(並愛上)的 8 個工具Java
- Java當中的JVMJavaJVM
- 用JMX怎樣連線本地JVM上執行的Java程式JVMJava
- 10個理由讓你愛上程式設計師程式設計師
- 學習Java的十大理由,益處太多了!Java
- 愛上樸實的CSS細節CSS
- 在 Debian 和 Ubuntu 上安裝 Cutefish 可愛魚Ubuntu
- 【Java】JVM複習JavaJVM
- java之JVM的架構模型JavaJVM架構模型
- 溪源的Java筆記—JVMJava筆記JVM
- Java反射在JVM的實現Java反射JVM
- 不愛洋娃娃愛程式設計的10歲女孩程式設計
- 淺談JVM記憶體結構 和 Java記憶體模型 和 Java物件模型JVM記憶體Java模型物件
- JVM的ServerSocket是怎麼實現的(上)JVMServer
- JVM記憶體結構、Java記憶體模型和Java物件模型JVM記憶體Java模型物件
- JVM的基本結構和JVM的記憶體結構JVM記憶體
- 如果Java是你唯一的愛Java
- 自JDK 8 以來所有Java和JVM新功能的分類列表JDKJavaJVM
- Java基礎、jvm 程式碼塊和構造方法的小問題JavaJVM構造方法
- 深入理解JVM(③)Java的模組化JVMJava
- java--jvm啟動的引數JavaJVM
- JVM 併發性: Java 和 Scala 併發性基礎JVMJava
- [Java效能剖析]Sun JVM記憶體管理和垃圾回收JavaJVM記憶體
- 【JVM原始碼解析】虛擬機器解釋執行Java方法(上)JVM原始碼虛擬機Java
- 選擇 Java 編寫 iOS 與 安卓 App的八大理由JavaiOS安卓APP