有史以來25個偉大的Java應用程序
從太空探索到基因組學,從反向編譯器到機器人控制器,Java都是當今世界的核心編程語言。
Java編程故事始于1991年,當時Sun Microsystems試圖將其在計算機工作站市場的領先地位擴展到迅速發(fā)展的個人電子產(chǎn)品市場。幾乎沒有人知道Sun即將創(chuàng)建的編程語言將使計算民主化,激發(fā)世界范圍的社區(qū),并成為持久的軟件開發(fā)生態(tài)系統(tǒng)的平臺,該生態(tài)系統(tǒng)包含語言,運行時平臺,SDK,開源項目以及許多工具。經(jīng)過詹姆斯·高斯林(James Gosling)領導的java開發(fā)過程幾年中,核心意義是“編寫一次,隨處運行” Java平臺,將其范圍從最初的交互式電視設計重新定位為新興的World Wide Web應用程序。
讓我們介紹一下25個最偉大的Java應用程序:
1. Maestro Mars Rover控制器。2004年,Java成為第一種擴展類編程語言。當年位于加利福尼亞州帕薩迪納的噴氣推進實驗室(JPL)的NASA科學家使用了由JPL機器人接口實驗室建造的基于Java的Maestro科學活動計劃器來控制“精神火星”探索漫游者在探索紅色星球時的行為。通過在1995年為Mars Sojourner創(chuàng)建命令和控制系統(tǒng),在JPL上就開始了Java的試驗。
2. JavaFX太空軌跡探測器。計劃進行太空飛行?你可能需要aisolutions的工具,aisolutions是一家美國航空承包商,其產(chǎn)品和工程服務已被國防公司和民用航天機構使用20多年。
該公司的 JavaFX深空軌跡瀏覽器使軌跡設計人員可以計算深空三體系統(tǒng)的路徑和軌道。該應用程序可以為任何行星月球系統(tǒng)或小行星生成多維視圖和模型,并在密集的視覺搜索中過濾數(shù)百萬個點。
3. NASA WorldWind。NASA發(fā)布了開源的WorldWind,這是一個虛擬地球的SDK ,所有人可以免費使用,該程序可以使程序員將美國航天局的地理渲染引擎添加到自己的Java,Web或Android應用程序中。WorldWind的地理空間數(shù)據(jù)遠不止Google Earth,它是由NASA工程師生成的,他們可以從高程模型和其他數(shù)據(jù)源中可視化地形。
4. JMARS和JMoon。Java遙感任務計劃和分析(JMARS)自2003年開始公開使用,至今仍為NASA科學家所使用,它是由亞利桑那州立大學火星太空飛行設施的人們編寫的地理空間信息系統(tǒng)。
5.SBMT。SBMT在太空科學家中很受歡迎,并且是在約翰霍普金斯大學應用物理實驗室開發(fā)的,它使用航天器任務中的數(shù)據(jù)以3D形式顯示小行星,彗星和小衛(wèi)星等不規(guī)則物體。SBMT用Java編寫,并使用Java 3D圖形的開源可視化工具包(VTK)。
6.維基百科搜索。2014年,Wikipedia用Elasticsearch取代了Lucene引擎,Elasticsearch是一個分布式的,支持REST的搜索引擎,也用Java編寫。
7. Hadoop。2008年,雅虎聲稱他們的Search Webmap運行在10,000個內(nèi)核的Linux集群上,是現(xiàn)有的比較大的生產(chǎn)Hadoop應用程序。到2012年,F(xiàn)acebook聲稱在全球比較大的Hadoop集群上擁有100 PB的數(shù)據(jù)。
8.平行圖分析(PGX)。圖分析是關于理解數(shù)據(jù)中的關系和連接的。根據(jù)基準測試,PGX是世界上最快的圖形分析引擎之一。PGX 用Java編寫,由Oracle Labs研究人員Sungpack Hong領導的團隊于2014年首次發(fā)布,PGX使用戶可以加載圖形數(shù)據(jù)并運行分析算法。
9.H2O.ai。自動化ML(AutoML)有助于推斷ML流程中的某些步驟,例如特征工程,模型訓練和調(diào)整以及解釋。由Java Champion Cliff Click創(chuàng)建的基于Java的開源H2O.ai平臺旨在使AI民主化,并為剛起步的人們充當虛擬數(shù)據(jù)科學家,并幫助ML專家提高效率。
10. Minecraft。Minecraft及其3D宇宙是Markus“ Notch” Persson用Java開發(fā)的,并于2009年以Alpha發(fā)行。
11.抖動機器人和leJOS。在自主的Roomba吸塵器出現(xiàn)之前,有個抖動。吉特(Jitter)是一個原型機器人,旨在吸收國際空間站(ISS)中漂浮的粒子,能夠在零重力下導航,彈跳墻壁并使用陀螺儀進行自我定位
12. Java小程序。根據(jù)牛津英語詞典的記載,小程序這個詞最早出現(xiàn)在1990年的“ PC Magazine”中。JavaApplet是可以在網(wǎng)頁中啟動的小程序(在一個框架中,在一個新窗口中,Sun的AppletViewer,或測試工具)并在與瀏覽器分開的JVM上運行。
13. NetBeans和Eclipse IDE。最早進入Java世界的集成開發(fā)環(huán)境是NetBeans,NetBeans于1996年在布拉格的查爾斯大學成立(名稱為Xelfi),并于1997年由企業(yè)家RomanStaněk創(chuàng)立的一家同名公司進行了商業(yè)化。Sun于1999年購買了支持所有Java應用程序類型的模塊化IDE,并于次年將其開源。2016年,Oracle將整個NetBeans項目捐贈給了Apache Software Foundation。
另一個流行的基于Java的集成開發(fā)環(huán)境是開源Eclipse IDE,它不僅可以用于Java編碼,還可以用于從Ada到Scala的其他編程語言。Eclipse SDK由IBM于2001年推出,基于IBM VisualAge,適用于Java開發(fā)人員,但可以通過插件進行擴展。Eclipse IDE于2004年從IBM分離出來并進入Eclipse Foundation,它仍然是可用的優(yōu)秀IDE之一。
14. IntelliJ IDEA。有很多IDE,但是IntelliJ IDEA在2001年推出后就成為人們的最愛。如今,IntelliJ IDEA已成為許多IDE的框架,這些IDE適用于Python,Ruby和Go等多種語言。
15.字節(jié)好友。開源Java庫Byte Buddy的創(chuàng)建者,Winterhalter說,用于Java工具(例如Hibernate和Mockito)的Byte Buddy運行時代碼生成和操作庫每月被下載2000萬次。
16.Jenkins。Jenkins由Sun Microsystems工程師Kohsawa Kawaguchi于2004年創(chuàng)建,它是功能強大的開源持續(xù)集成服務器。Jenkins用Java編寫,可幫助快速,自動地構建,測試和部署應用程序。
17. GraalVM。Twitter是該技術的狂熱愛好者,它使用GraalVM來提高其服務的速度和計算效率。
18.Micronaut。為云編碼的開發(fā)人員需要仔細考慮其應用程序使用了多少內(nèi)存,以及應用程序如何使用該內(nèi)存。
19. WebLogic Tengah。1997年,WebLogic Tengah 成為企業(yè)Java服務器的第一個實質(zhì)性實現(xiàn)。
20. Eclipse集合。這是有原因的,在投資銀行,證券交易所和其他金融服務公司中,許多開發(fā)人員工作都需要強大的Java技能:編程語言擅長處理并發(fā),高頻交易中常見的多個執(zhí)行線程的管理以及其他大型事務。
21. NSA Ghidra。在2019年舊金山舉行的RSA大會上,美國國家安全局推出了一種基于Java的開源工具Ghidra,安全研究人員和從業(yè)人員現(xiàn)在使用該工具來了解惡意軟件的工作原理并檢查其自身代碼的弱點。這個逆向工程平臺可以將軟件從機器語言反編譯回源代碼(例如Java等語言)。
22.集成基因組瀏覽器。繪制人類基因組圖譜的競賽始于1990年,并在13年后結束。當時,醫(yī)學研究人員成功地對生物技術專家Craig Venter的30億個DNA堿基對進行了測序,這是一項耗時30年,涉及3,000人,耗資30億美元的工作。序列完成后,科學家們很想深入研究我們物種的源代碼,但是怎么做呢?進入基于Java的基因組瀏覽器,這是一個由包括生物信息學教授Ann Loraine在內(nèi)的團隊開發(fā)的可視化工具,用于探索基礎數(shù)據(jù)集和參考基因注釋。開源集成基因組瀏覽器使研究人員可以放大,平移和繪制基因組數(shù)據(jù)圖,以識別和注釋遺傳特征。為了配合這一全球努力,加利福尼亞大學圣克魯斯大學以吉姆·肯特(Jim Kent)管理的基因組瀏覽器的形式提供了類似的工具。
23.BioJava。BioJava于2000年推出,并且至今仍然很強大是用于處理生物數(shù)據(jù)的開放源代碼庫,該領域稱為生物信息學。
24.VisibleTesla。這款基于Java的應用程序由特斯拉汽車愛好者Joe Pasqua于2013年創(chuàng)建,是一個免費程序,用于監(jiān)視和控制他的特斯拉ModelS。
25. SmartThings。由SmartThings開發(fā)的物聯(lián)網(wǎng)(IoT)應用程序由Alex Hawkinson于2012年共同創(chuàng)立,后來在Kickstarter上籌集了120萬美元,可讓你控制和自動化從家用照明,鎖,咖啡機,恒溫器和收音機到家的一切安全系統(tǒng)。