Java是在計算機史上影響深遠的編程語言,在過去10年中,一些項目已經被廣泛接受,并且已經統治了Java軟件開發世界,很多Java項目的誕生對互聯網行業的發展帶來深遠的影,一些項目甚至影響到了用戶的日常生活。現在我們來介紹影響世界的7大Java項目。
1. JUnit
Kent Beck先生關于Smalltalk的單元測試被Kent Beck 和Erich Gamma 帶進Java——JUnit。在這十年里,JUnit帶來了測試驅動開發的普及浪潮。許多其它流行語言的單元測試版本也跟著被創造出來了,例如.NET、 C、Python、Perl。
2. Eclipse
剛進入20世紀,隨著Java和它的API的成熟,Eclipse IDE(集成開發環境)為程序員提供了一個幫助他們提高生產效率和融入到成長中的Java社區的環境。Eclipse也是第一個用SWT UI 工具包的大型項目。Eclipse已經逐步向成為一個普及的集成開發環境的目標發展。現在它為集成平臺插件提供了豐富的基礎平臺。(SWT是SUN公司的Swing的強勁競爭者,它證明了Java 程序也可以提供豐富的本地接口。)
3. Spring
Spring 框架在提高Java開發人員的生產效率方面扮演著一個重要的角色。它維持了簡單和特點的平衡。Spring為Java開發人員提供了一套服務。這套服務提供了普遍使用的應用功能,例如數據訪問和事務管理。作為Sun公司的企業JavaBean系統的競爭者,Spring為Java應用創造出了另外一個可選的簡單的路徑,同時也創造出了一個Java應用開發思想上的健康競爭。
4. Solr
多年來,Solr服務器(集成了Lucene搜索引擎)已經為web和企業應用提供了一個簡單實用的搜索功能的解決方案。Solr的特別之處在于它為強力和快速的Lucene搜索庫提供了HTTP訪問,使它能夠成為任何系統的一部分,無論這系統是不是由Java實現。比其它項目好的地方,Solr已經使強力快速的搜索成為現代Web應用的一個可選項。
5. Hudson and Jenkins
原名為Hudson,現在也叫Jenkins,這個持續集成工具是Java開發設置的關鍵部分。Jenkins為軟件項目提供了自動構建和測試。隨著 JUnit的測試持續集成,Jenkins在Java的平臺上是敏捷研發成為可能。雖然Hudson和Jenkins現在集成在一起,但并沒有偏離Kohsuke Kawaguchi的努力,Kohsuke使它成為世界級的持續集成平臺,并提高了大部分Java研發的質量。
6. Hadoop
Hadoop是著名的MapReduce模型的Java實現。它的強壯使得最大多數的“大數據”系統成為可能。通過降低從巨大的數據集合中抽取有價值的數據的成本,Hadoop 已經被大量使用,如Facebook用它來做海量數據分析,Yahoo 的個人和廣告業務,還有很多其他的公司。就像Linux使大型網站能夠構建在便宜的硬件上一樣,Hadoop則通過在軟件層的高容錯性使大規模的分布式計算成為可能。Hadoop和上面提到的Lucene都是Doug Cutting的努力成果。
7. Android
Java的歸屬(Sun或者Oracle)爭論一直持續著。Google卻選擇用Java語言作為它十分流行的Android移動操作系統的編程語言。這個選擇在整個件研發人員的社區中引起了新的關注。Android 程序編譯過程比普通Java程序要多經過一個步驟,將JVM二進制碼轉換成Dalvik二進制碼。(Dalvik是專門為移動設備優化的虛擬機)Google 已經可以利用Eclipse 為軟件研發人員提供一個成熟的編寫Android應用的開發環境。
Oracle和Google現在正卷入法律訴訟中,因為Oracle聲明Android侵犯了Oracle的多項專利。無論這場訴訟的結果如何,Android都已經為研發人員的就業和延續客戶端軟件研發領域的Java的使用做了很大的貢獻。
根據路透社7月25日最新消息,美國一家地方聯邦法院法官威廉姆?阿索普周五駁回了甲骨文起訴GG侵害Java專利的索賠評估報告,認為61億美元的索賠金額過高。而就在一天前,威廉姆 曾警告稱兩家在Android平臺的專利爭端中沒有占在合理立場。威廉姆表示,若Oracle希望推遲10月份的審判直到雙方和解,這倒可以試一試。