Java的开源生态系统是强大而健康的,这是我们(Oreilly)创建OSCON Java(Open Source Convention
Java)的主要原因之一。在过去10年中,一些项目已经被广泛接受,并且已经统治了Java软件开发世界,一些甚至影响到了用户的日常生活。
0. JUnit
Kent Beck先生关于Smalltalk的单元测试被Kent Beck 和Erich Gamma
带进Java——JUnit。在这十年里,JUnit带来了测试驱动开发的普及浪潮。许多其它流行语言的单元测试版本也跟着被创造出来了,例如.NET、
C、Python、Perl。
1. Eclipse
刚进入20世纪,随着Java和它的API的成熟,Eclipse
IDE(集成开发环境)为程序员提供了一个帮助他们提高生产效率和融入到成长中的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月份的审判直到双方和解,这倒可以试一试。
分享到:
相关推荐
希望这个项目能帮助到大家,用于java开发毕业设计及项目经验等,路径等图片可自行更改. 愿意和各位大佬探讨技术,共同努力,改变世界!
1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 1.2.3 配置环境变量 6 1.2.4 测试环境是否安装成功 8 1.2.5 ...
1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 1.2.3 配置环境变量 6 1.2.4 测试环境是否安装成功 8 1.2.5 ...
一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? ...
也就是说,正式用它设计之前,必须先将自己的思想转入一个面向对象的世界(除非早已习惯了这个世界的思维方式)。只有做好这个准备工作,与其他OOP语言相比,才能体会到Java的易学易用。在本章,我们将探讨Java程序...
在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 ...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5...
开源地址: : 开发作者:-我们不改变世界,我们跟着世界改变。这是我的第二个开源作品,欢迎star。第三个开源作品地址: : 技术栈Spring Cloud Config,Spring Cloud Netflix(Eureka,Hystrix,Zuul,Archaius…)...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 关系运算符 13 实例7 逻辑...
当计算机虚拟技术给游戏提供了强有力的支持后,一个陌生而又似曾相识的新奇世界展示在人们面前:游戏。 而此时一款可以随时随地娱乐的游戏更是受到人们的推崇.在手机和电脑成为人们日用品的社会,一款能在其上能便捷...
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...
微博基于公开平台架构,提供简单、前所未有的方式使用户能够公开实时发表内容,通过裂变式传播,让用户与他人互动并与世界紧密相连。 [2] 作为继门户、搜索之后的互联网新入口,微博改变了信息传播的方式,实现了...
随着全世界互联网技术的不断发展,各种基于互联网技术的网络应用不断涌现,网络技术正在不断的深入人们的生活。人们从Internet上获取信息、享受生活、交流感情、网上工作等。Internet正在迅速改变着人们的生活方式。 ...
即由任务驱动学习,打破传统学科体系的知识结构,从根本上改变过去存在的学生学习了各种技术后,仍然不会使用这些技术进行真实软件项目设计的局面。 本课程标准在设计上突出体现职业教育的技能型和应用型特点,着重...
四 课时分配 2课时 五 提交文档 实验报告、源程序代码 实验三 打砖块游戏设计 一 实验目的 通过设计和制作打砖块游戏来理解游戏程序的运行机制,同时学习运用java编程来实 现游戏世界中物体间的碰撞检测。...
随着全世界互联网技术的不断发展,各种基于互联网技术的网络应用不断涌现,网络技术正在不断的深入人们的生活。人们从Internet上获取信息、享受生活、交流感情、网上工作等。Internet正在迅速改变着人们的生活方式。 ...