7个改变世界的Java项目

来源:互联网 发布:清华斯维尔软件下载 编辑:程序博客网 时间:2024/06/05 05:35

Java的开源生态系统是强大而健康的,这是我们(Oreilly)创建OSCON Java(Open Source Convention Java)的主要原因之一。在过去10年中,一些项目已经被广泛接受,并且已经统治了Java软件开发世界,一些甚至影响到了用户的日常生活。

JUnit

由Kent Beck和Erich Gamma从Smalltalk的单元测试中移植到Java,JUnit在过去十年中主要负责推广测试驱动的开发。许多实现已经创建,在.NET,C,Python,Perl和几乎每种语言的流行使用。

Eclipse

随着Java及其API在21世纪初期成熟,Eclipse IDE为程序员提供了一种高效的方法,并与不断增长的Java生态系统进行协商。Eclipse也是使用SWT UI工具包的第一个主要项目,为Sun的Swing提供了重要的竞争,并显示Java程序可以提供丰富的本地界面。Eclipse已经朝着成为通用IDE的目标发展,现在它为平台供应商提供了一个丰富的基础。


Spring

Spring 框架在提高Java开发人员的生产效率方面扮演着一个重要的角色。它维持了简单和特点的平衡。Spring为Java开发人员提供了一套服务。这套服务提供了普遍使用的应用功能,例如数据访问和事务管理。作为Sun公司的企业JavaBean系统的竞争者,Spring为Java应用创造出了另外一个可选的简单的路径,同时也创造出了一个Java应用开发思想上的健康竞争。

Solr

多年来,Solr服务器(集成了Lucene搜索引擎)已经为web和企业应用提供了一个简单实用的搜索功能的解决方案。Solr的特别之处在于它为强力和快速的Lucene搜索库提供了HTTP访问,使它能够成为任何系统的一部分,无论这系统是不是由Java实现。比其它项目好的地方,Solr已经使强力快速的搜索成为现代Web应用的一个可选项。


Hudson and Jenkins

最初开发为Hudson,现在也作为Jenkins,这种持续集成工具是Java开发设置的关键部分。Jenkins提供了软件项目的自动构建和测试,继续在JUnit的脚步中实现Java平台上的敏捷开发。虽然Hudson和Jenkins现在仍然是彼此的叉子,但是它不会减少Kohsuke Kawaguchi在创建世界级的持续集成平台和提高Java开发的质量方面的工作。


Hadoop

Hadoop是著名的MapReduce模型的Java实现。它的强壮使得最大多数的“大数据”系统成为可能。通过降低从巨大的数据集合中抽取有价值的数据的成本,Hadoop 已经被大量使用,如Facebook用它来做海量数据分析,Yahoo 的个人和广告业务,还有很多其他的公司。就像Linux使大型网站能够构建在便宜的硬件上一样,Hadoop则通过在软件层的高容错性使大规模的分布式计算成为可能。Hadoop和上面提到的Lucene都是Doug Cutting的努力成果。

 Android

争论从来没有远离Java,无论托管人是Sun还是Oracle。Google选择使用Java作为其广受欢迎的Android移动操作系统的编程语言,导致了对来自软件开发人员的全新社区的语言的重新兴趣。Android程序经历进一步的步骤将JVM字节码转换为Dalvik字节码 - Dalvik是一个为移动设备优化的虚拟机。Google已经能够利用Eclipse为软件开发人员提供一个用于创建Android应用程序的成熟的开发环境。

Oracle和Google目前正针对Android声称Android侵犯了Oracle持有的多项专利提起诉讼。尽管这样的结果,Android已经做了很多招聘开发人员,并永久使用Java在客户端软件开发。


原创粉丝点击