zoukankan      html  css  js  c++  java
  • 7个改变世界的Java项目

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

    0. JUnit

      Kent Beck先生关于Smalltalk的单元测试被Kent Beck 和Erich Gamma带进Java——JUnit。在这十年里,JUnit带来了测试驱动开发的普及浪潮。许多其它流行语言的单元测试版本也跟着被创造出来了,例 如.NET、C、Python、Perl。

      1. Eclipse

      刚进入20世纪,随着Java和它的API的成熟,EclipseIDE(集成开发环境)为程序员提供了一个帮助他们提高生产效率和融入到成长 中的Java社区的环境。Eclipse也是第一个用SWT UI工具包的大型项目。Eclipse已经逐步向成为一个普及的集成开发环境的目标发展。现在它为集成平台插件提供了丰富的基础平台。(SWT是SUN公 司的Swing的强劲竞争者,它证明了Java 程序也可以提供丰富的本地接口。)

      2. Spring

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

      3. Solr

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

      4. Hudson and Jenkins

      原名为Hudson,现在也叫Jenkins,这个持续集成工具是Java开发设置的关键部分。Jenkins为软件项目提供了自 动构建和测试。随着JUnit的测试持续集成,Jenkins在Java的平台上是敏捷研发成为可能。虽然Hudson和Jenkins现在集成在一起, 但并没有偏离Kohsuke Kawaguchi的努力,Kohsuke使它成为世界级的持续集成平台,并提高了大部分Java研发的质量。

      5. Hadoop 

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

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

  • 相关阅读:
    毕业季–遗言
    Storm 疑难杂症。
    Python3.2 安装 MySQLdb
    apk 文件可下载配置
    'GBK' is not a supported encoding name. For information on defining a custom encoding, see the docum
    croe 增加配置文件。
    postman 特殊字符被转义,如 参数+号变成了空格
    websocket 学习
    Rhino 基于java的javascript实现
    SJS(simple javascript)html5开发扩展库
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400119.html
Copyright © 2011-2022 走看看