搜尋
首頁Javajava教程Java,傳奇的一生!

Java,傳奇的一生!

Nov 26, 2016 pm 01:51 PM
java

如果說用「永存、曲折、已死、重生」來形容 Java,筆者以為一點也不為過。

1991 年,James Gosling 帶領著名為「Green Team」的團隊著手研發一種新的語言以及專為下一代數位設備和電腦使用的網路系統。歷時 4 年辛勤工作後,該專案最終修成正果並取名為 Java。

Java 有著類似C的語法並且有「一次編譯,隨處運作」的靈便性。透過虛擬機器機制,可以使程式碼在底層平台進行執行時編譯。回首Java 過去的20 年,首先是經歷了微電腦時代的興與衰,然後進入伺服器領域及智慧電話領域,繼而在DHS(美國土安全部)的「不安全」定義下艱難前行,最後投入甲骨文(Oracle)懷抱現正蓄勢迸發第二春。難道還有別的語言有如此起伏的情節嗎?

Java 推出後,Sun 發現市場上存在著一個問題—電腦領域與非電腦領域彼此是隔間的。 Sun 認為這是一個機遇,如果能把兩者連結起來將會帶來一場電腦革命。 「統一的主題是網絡。」Gosling 說,「放眼當時的市場,兩個領域的廠家各自為政,沒有形成統一的網絡。因此很多時候不得不重複大量的實驗,但這些其實早在30 年前的計算機科學中已解決。被重複創造。 我們提出的模組概念終將改變這個局面。而過後五年,所有人都把重心轉向了企業應用。 Gosling 說,「回首Java EE 統治世界的場景至今仍歷歷在目。我們唯一的失誤是把全部精力都集中於此,所有資源都被優先調配到EE,導致無法投入更多的精力去開拓桌面的世界。的跟風者。天時、地利、人和。 ME 的意思是小型設備和嵌入系統。 ME 在翻蓋手機上推廣,成為當時的標準配備。 Gosling 說,「ME 已經做得足夠好了,在當時是最強大的智慧電話開發平台。不過現在漸漸被遺忘,因為Android 太耀眼了。」

作為一個獨立平台,Java  ME 被邊緣化了。 Oracle 開發部資深副總裁Cameron Purdy 表示在下一個版本Java 9 中會把所有平台統一起來,「對比SE、ME 獨立出來但發展緩慢。Java 9 的模組化特性會使得Java ME 的可重複性得到增強,這將是反擊Android 和iOS 的有力武器。 IBM 報價 65 億美元,Sun 沒答應,74 億美元,Oracle 得到了 Sun。

在 Oracle 管理下,頭幾年 Java 表現良好,以 0 重大失誤成為安全的代名詞。不過在 2013 年 1 月情況開始變壞,美國土安全部(DHS)建議人們盡量不要使用 Java。作為企業導向的軟體公司,打補丁修復 Bug 的速度是 Oracle 的短板,根本無法與面向大眾消費者的微軟或 Adob​​​​e 相比。別人是以小時或天來計,而 Oracle 是以月為基本單位。

Purdy 認為 Oracle 已經盡了最大的努力去修補並清楚這個短板的重要性。問題的關鍵是如何打造一支在失去 Gosling 等幹將後仍能獨當一面的團隊。他說,「我們聽到了不少質疑之聲,但其實我們一直都在不斷加入投入的力度並努力尋求解決的方案。」

浴火重生

DHS 的公開聲明不啻是壓垮 Java 的最後一根稻草,很多人都預言 Java 將風光不再。然而事情慢慢得到轉機,不少 Java 粉絲開始出來捍衛 Java 的名聲。 Dr. Dobb’s Journal 編輯 Andrew Binstock 曾發表一篇社論,其題目是:《即使面臨死亡,Java 看上去還是相當健康的》。

對於Oracle 的接管,Gosling 表達了自己的喜悅之情,「得知這個消息後,我感到非常驚訝。Oracle 是個非常優秀的監護人並大大超出了我的期望。一開始我還擔心它會不會成為第二個Solaris,現在看來我是多慮了。 「我們花了大量時間來審視整個過程以確定如何進行 Bug 修復,從輸入到發布機制,我們回顧了大量的程式碼。最後列出了一個長長的錯誤修復表。」Purdy 回憶說。

安全曾讓 Java 蒙羞,安全也讓 Java 重獲新生。在 2014 Pwn20wn 駭客大會上,Java 成為唯一沒有被攻破的平台。而在 2015 的會議中,Pwn20wn 甚至沒有把 Java 列在攻擊名單上。

現在和未來

Java 9 將是自被 Oracle 收購後發布的首個重大版本。 Java 9 最主要的目標是最大限度地實現模組化以幫助人們實現積木式的應用編寫。

「我們的目的是幫助人們從JAR 的束縛中解脫出來。」Saab 說,「你將很輕鬆地處理在過去相當複雜的事情,例如打包。你可以只用到需要的模組,而把其它忽略。 Milinkovich 的看法是,「我認為Java 的未來在於物聯網。我很樂意看到Oracle 及其合作夥伴能把精力放在完全點對點的Java 儲存方案上,透過網關實現裝置到企業後台的連線。如果成功將能讓Java 在往後20 年發展得更好走得更遠。生態,所有部分彼此相通。都曾預言Java 將一蹶不振,但現今在不少的重要專案中,Java 仍扮演著極為重要的角色。

Purdy 指出,沒有Java,甚至不會有大數據的大發展,「Hadoop 本身就是用Java 編寫的。當你需要在運行MapReduce 的伺服器叢集上發布新功能時,你需要進行動態的部署,而這正是Java 所擅長的。 ”

另一Java 受惠者是Twitter。一開始 Twitter 是用 Ruby on Rails 寫的,但隨著用戶數的成長 RoR 逐漸顯得力不從心。 Fail Whale(失敗鯨)的宕機畫面預示著瓶頸問題亟需解決。在 2012 年,Twitter 從 RoR 轉向了 Java 和 Scala,而失敗鯨從此滅絕了。

可見 Java 不但沒有成為昨日黃花,還重新煥發了新的生機。讓我們共同期待 Java 9,看看 Oracle 將為廣大開發者帶來什麼樣的驚喜。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版