7个改变世界的Java项目

开发 后端
Java的开源生态系统是强大而健康的,这是我们(Oreilly)创建OSCON Java(Open Source Convention Java)的主要原因之一。在过去10年中,一些项目已经被广泛接受,并且已经统治了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月份的审判直到双方和解,这倒可以试一试。

原文:http://www.jobbole.com/entry.php/1144

【编辑推荐】

  1. Perl、PHP、Python、Java和Ruby的比较
  2. Java开源NoSQL数据库大全
  3. 漫谈Java 7的新特性与C# 2.0的相似之处
  4. Java从控制台中读取数据的各种方法
  5. 介绍几个主流的Java连接池
责任编辑:陈贻新 来源: 伯乐在线
相关推荐

2011-07-26 09:01:05

Java

2015-05-11 14:50:26

APP

2019-12-06 20:54:29

物联网物联网应用IOT

2013-11-11 09:23:31

2011-10-31 09:46:48

2017-12-12 10:58:49

开发者大赛

2021-07-29 11:30:31

GitLinux命令

2011-06-01 10:50:34

2022-05-13 23:08:56

物联网安全智能汽车

2019-12-25 10:30:33

云计算数据中心数据库

2015-08-21 11:35:44

2020-12-28 11:00:34

物联网万物互联智能

2019-01-15 10:29:48

物联网IOTIT

2020-02-12 09:19:01

物联网金融IOT

2021-04-13 11:19:46

无线技术设备办公

2021-04-25 11:25:07

开源 数字化转型商业市场

2015-07-13 11:09:06

谷歌改变世界

2018-01-24 09:00:00

2012-10-29 11:10:50

Windows

2018-07-16 14:27:03

算法设计程序员
点赞
收藏

51CTO技术栈公众号