Java 1.0已經25歲了,你使用的第一個Java版本是什麼?| 歡迎評論

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1996年1月23日,Sun微系統公司發佈了一份"},{"type":"link","attrs":{"href":"https:\/\/web.archive.org\/web\/20070310235103\/http:\/\/www.sun.com\/smi\/Press\/sunflash\/1996-01\/sunflash.960123.10561.xml","title":null,"type":null},"content":[{"type":"text","text":"新聞稿"}]},{"type":"text","text":",宣佈Java 1.0正式可用:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"加州帕洛阿爾託,1996年1月23日,JavaSoft(Sun微系統公司新成立的運營公司)宣佈,Java 1.0編程環境現在可以從"},{"type":"link","attrs":{"href":"http:\/\/java.sun.com上下載","title":null,"type":null},"content":[{"type":"text","text":"http:\/\/java.sun.com上下載"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JavaSoft新任命的總裁Alan Baratz說:“Java一次編寫、到處運行的能力和它的易訪問性已經爲軟件和互聯網社區所接受,成爲開發複雜網絡應用程序的事實上的標準。開發人員現在可以馬上就下載Java 1.0,並開始構建下一個殺手級應用程序。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JavaSoft Java語言和應用程序總經理Ruth Hennigar說:“爲了發佈這個強大的1.0版本而不斷改進Java對我們的團隊來說是一個偉大的成就。自從3月份發佈了第一個alpha版本以來,我們已經收到了很多開發者的反饋,並且改進了功能和可靠性。這個版本包含了開發者希望我們加入的組件——用於運行和測試Applet的Java Applet查看器、Java編譯器、一個原型調試器和Java虛擬機。我們還加入了圖形、音頻、動畫和網絡類庫。”"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Sun公司在"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2020\/05\/java-at-25\/","title":null,"type":null},"content":[{"type":"text","text":"1995年發佈了Java的alpha版本"}]},{"type":"text","text":",包含了用在Netscape Navigator和Mosaic上的一些技術,但1.0版本的發佈(緊接着是1.0.1和1.0.2)標誌着一段持續至今的旅程的開始。Oracle公司在去年"},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/news\/connect\/25-years-of-java-technology-community-family.html","title":null,"type":null},"content":[{"type":"text","text":"慶祝Java alpha版發佈25週年"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"互聯網的崛起爲Java的普及提供了條件,而編譯器和庫的免費提供對於當時的工具生態圈來說是一個巨大的變化。像gcc這樣的開源項目比Java編譯器早出現了10多年,大多數操作系統可用的用於構建交互式圖形軟件的工具都只有商業版。Applet在開發完以後可以發佈到互聯網上,然後在各種不同的操作系統上運行,這在當時是獨一無二的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Sun微系統公司在最初的新聞稿中提到,Java 1.0可在Solaris、Windows 95和Windows NT上運行,並承諾在次年年底發佈macOS版本。在Apple和NeXT合併一起開發macOS時,操作系統上默認安裝了Java,Objective-C運行時與Java進行了橋接,提供了JavaWebObjects——Objective-C WebObjects到Java的移植(即使是現在,在蘋果某些網站的WebObjects應用程序中仍然可以看到Java遺留的WebObjects)。IBM承諾爲OS\/2和Windows 3.1提供移植,從那以後,IBM就一直是Java的被許可方。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"儘管Java經過多年的發展,但JVM的核心部分仍然十分穩定——用Java 1.0編譯的應用程序仍然可以在現代JVM上運行。字節碼格式(在很大程度上)保持不變,隨着時間的推移,只引入了很少的字節碼(例如invokedynamic)和額外的屬性類型(module-info)。其他一些,比如泛型,是在Java 1.2中以向後兼容的方式引入的,不需要做任何修改,這樣它們就也可以在舊JVM上運行。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"遺憾的是,JVM存在安全漏洞,爲了保證安全,需要頻繁更新瀏覽器的JVM。隨着其他瀏覽器插件類型的流行(比如Flash——現在已經跟它說再見了),Java從瀏覽器端走到了服務器端。在服務器端,Java的J2EE平臺(現在是JakartaEE)開始流行起來。瀏覽器技術仍然是惡意軟件的溫牀,只不過這次被攻擊的是執行JavaScript的JIT。JavaScript這個名字是因爲Java早期爲瀏覽器發佈的版本而出現的,但除此之外與Java並無關聯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Java很少會跌出編程語言排行榜頂部的位置,經常與C語言分列前兩位。安卓的Dalvik虛擬機應用程序使用的是Java,可見下一個十年Java仍然會與我們同在。類C語言語法的延續和對行尾分號的堅持可能看起來有些過時,但在當時對於C語言開發人員來說這是一門很容易過渡的語言。與1996年編譯的C語言程序不同,Java應用程序到現在仍然可以運行——而且速度要快得多,這要歸功於32位和64位JVM以及高級垃圾收集器(如Shenandoah和ZGC)的發展。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Java在嵌入式領域的成功——畢竟,它最初是作爲一種機頂盒編程語言而誕生的——並不那麼明顯。雖然Java出現在藍光播放設備中,JavaCard出現在SIM和PIN芯片中,但它可能並沒有在物聯網世界掀起一場革命。不過,嵌入式Java仍然是有利可圖的,這也是Oracle收購Sun微系統公司的原因之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也許Java真正寶貴的遺產不僅僅是將面向對象引入到瀏覽器中,而是JVM本身。正如Java(以及JavaScript)所展示的那樣,如果你擁有一種運行時與處理器無關的語言(JVM字節碼、JavaScript源碼、WASM),那麼執行或翻譯引擎就可以執行該代碼,而無需考慮平臺問題。這比其他任何東西都更有助於硬件的發展——從32位到64位,從PowerPC到ARM再到RISC-V——而且仍然不需要開發者修改任何編譯後的代碼。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"現在不只是Java在使用JVM,其他編程語言也在使用JVM,如受Java啓發的派生語言Kotlin和Scala,還有其他非Java編程語言,如JRuby和Jython。Oracle的Truffle和GraalVM項目展示瞭如何基於Java構建JVM,並優化那些無法利用這些運行時的語言。隨着Java語言的發展,引入了輕量級的線程和記錄類,這些變化將推動JVM向前發展,在未來支持更多運行時。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Java和JVM可能已經到了中年,但它們還有幾十年的使用和改進空間。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你使用的第一個Java版本是什麼?請在下面的評論中告訴我們。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文鏈接"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2021\/01\/java-turns-25\/","title":null,"type":null},"content":[{"type":"text","text":"Java 1.0 Turns 25"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章