7个改变世界的Java项目

2019-03-27 01:06|来源: 网路

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的努力成果。

下图是Hadoop的体系结构:

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月份的审判直到双方和解,这倒可以试一试。

原文出自:Edd Dumbill

译文出自:伯乐在线


转自:http://www.cnblogs.com/mixer/archive/2011/07/26/2448681

相关问答

更多
  • 我的世界java[2023-06-26]

    我的世界是用java语言编写的游戏,运行游戏时需要对应的运行环境,所以得装好java并配好环境变量才能正常运行我的世界。
  • 你试一试进入游戏点击开始游戏-----浏览-------找到java-------点击确认-------现在返回到了那个界面,然后点开始游戏就行了。还不行就再进一次游戏,点一下开始游戏就行啦。再不行我也没办法了
  • 首先这不是java的问题,是你的显卡问题 解决办法一:右键桌面,然后点击属性然后点击设置——高级——疑难解答——硬件加速那里拖到从左到又第三个,就是禁止所有DircectDraw什么的,然后就进入游戏再看看,如果不我也没办法了。记得如果行就ok,但是玩其他游戏要调到最初始的从左到右第五个!
  • 下载JAVA7 按你电脑是几位的。然后下载安装,一些启动器是不会帮你找java的位置,需要自己找,它基本都安在C盘。删掉安装的java
  • 这个跟32位也是没问题的,请在启动器里给mc这个游戏多分配点内存(建议1g以上,就好了)
  • 请不要把游戏的问题提到java和编程语言标签下 而且没人给你答的
  • Java路径在我的世界里相当于环境摹拟支柱、语言编写等功能。
  • JAVA是我的世界运行的必要条件,而我的世界是一个游戏
  • Google 开源了其第二代深度学习技术 TensorFlow——被使用在 Google 搜索、图像识别以及邮箱的深度学习框架。这在相关媒体圈、工程师圈、人工智能公司、人工智能研究团队里有了一些讨论。比较有趣的是,微软亚洲研究院立刻向 媒体发邮件表示,我们发布了开源分布式机器学习工具包(DMTK)。 对于大众来说,这件事让人 “困惑”。从 “深度学习” 到 “分布式系统”,太多概念大众一知半解,现今给出的资料又让人难以理解。而对于 “Google 开源 TensorFlow” 这一事件,各个公司、团队、学术 ...
  • CQRS和DDDD的术语起源于.NET世界,并由像Greg Young和Udi Dahan这样的.NET从业者推动。 在Java世界中,很少有人在谈论CQRS。 但是,由于CQRS术语本身仅仅是经过时间验证的实践的新名称(在简单的心理模型下统一),因此它不仅限于.NET。 例如,Java中有Axon和Jdon框架。 它们经常在CQRS讨论中引用。 Terms of CQRS and DDDD originated in .NET world and were pushed by .NET Practitio ...