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 的短板,根本無法與面向大眾消費者的微軟或 Adobe 相比。別人是以小時或天來計,而 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 將為廣大開發者帶來什麼樣的驚喜。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP成為許多網站首選技術棧的原因包括其易用性、強大社區支持和廣泛應用。 1)易於學習和使用,適合初學者。 2)擁有龐大的開發者社區,資源豐富。 3)廣泛應用於WordPress、Drupal等平台。 4)與Web服務器緊密集成,簡化開發部署。

PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。
