写点什么

2010 年 InfoQ 中文站 Java 社区回顾:让 Java 飞一会

  • 2011-01-09
  • 本文字数:3680 字

    阅读完需:约 12 分钟

纵观 2010 年,Java 世界可谓变化万千,有关 Java 归属、走向、领袖去留、专利权等等问题在社区中引起了巨大反响,给人一种“飘忽不定”的感觉。InfoQ 密切关注其发展动态,现将中文站 Java 社区在 2010 年的精华内容整理出来,让读者一睹为快。

Java 动态

2010 年 1 月底,在经过了将近 9 个月的漫长等待后,Oracle 终于获得欧盟的批准成功完成对 Sun 的收购。Oracle 宣布了对 Sun 技术与平台的未来规划。简单概括为:Oracle 计划集成 Sun HotSpot 与 Oracle JRockit Java 虚拟机,打算“振兴”Java 开发者社区并将 Java 编程模型的触角延伸到新近涌现的应用开发范式上来。比如说,Oracle 计划增加模块化特性、为 Java SE 增加多核处理支持、为 Java ME 增加新的特性,如多点触摸等。Oracle 将会一如既往地支持 MySQL 数据库的发展,将 MySQL 看作是对其核心数据库技术的有益补充而非竞争对手。

2010 年 4 月初,“Java 之父”James Gosling 通过其新博客宣布已经从 Oracle 离职了。他还没有寻找新的工作,在个人简介中称自己是“快乐的失业者”。在其博客中,他说到“在开始找工作之前,除了好好休息一下,我还不知道接下来要干什么”。

2010 年 8 月,Oracle 就 Android 操作系统对 Google 发布了一项版权与专利诉讼,这开启了硅谷的两家公司在智能电话软件平台上的法律之争。此次诉讼主要内容是 Google 侵犯了 Oracle 的 7 项专利,这些专利是年初 Oracle 收购 Sun Microsystems 时所获得的。所有这些专利都与 Java 有关。此次诉讼也标志着 Oracle 在使用 Java 专利上的首次尝试。Oracle CEO Larry Ellison 认为收购 Sun 是正确的主要原因在于这使得 Oracle 能够控制 Java 了。 Google 随后对此做出了反驳:“Oracle 选择以无事实根据的法律诉讼攻击 Google 和开源 Java 社区,我们感到失望。开源 Java 社区的发展不受任何一家公司的约束,每天都在致力于让世界变得更加美好。我们将坚决捍卫开源标准并继续与业界合作发展 Android 平台”。

模块化、集成性和可维护性是未来 Java SE Java EE Java 嵌入式平台的主要目标。2010 年 9 月,Mark Reinhold、Roberto Chinnici 和 Greg Bollella 在 JavaOne 2010 大会上阐述了 JSE、JEE 和 Java 嵌入式平台的新技术和新特性。Mark 谈到了一些新的项目和特性,如 Coin 项目 PLambda 项目 DaVinci Machine 项目(JSR 292)和 Jigsaw 项目。这 些功能将随着 Java SE 7(计划 2011 年中发布)和 Java SE 8(2012 年中期)发布。他同时提到了其他特性如在 Collections API 新的类(Predicate 和 Extractor)中使用 filter 和 map 操作符添加块数据操作逻辑,以通过 Lambda 表达式简化代码。另一个语言新特性是给类似 Collection 的接口添加了默认方法。

2010 年 10 月,Apple 发布了 Mac OS X 10.6 的 Java 更新版本,但是表示未来不会继续维护该平台上的 Java。随着 Java for Mac OS X 10.6 Update 3 的发布,Apple 公司移植到 Mac OS 平台的 Java 运行时将不再鼓励使用。开发人员在未来版本的 Mac OS X 系统中不应该依赖 Apple 提供的 Java 运行时。Mac OS X 10.6 Snow Leopard 和 Mac OS X 10.5 Leopard 平台上的 Java 运行时将在产品的支持周期内继续得到支持和维护。这意味着,Apple 可能在未来对 Java 停止支持,不鼓励用户在 Mac 平台上使用 Java 应用。不仅如此,有国外消息称,在 Mac App 商店即将发布的开发人员规范中,有一条准则明确指出:“采用不受推荐的技术(如 Java)开发的 Mac 应用将被拒绝在网上商店销售”。

2010 年 12 月,Apache 软件基金会宣布离开 JCP 执委会,这也意味着他们彻底与 JCP 断绝了关系。根据他们此前围绕着JCP 的声明以及关于Apache Harmony TCK 的纷争,大多数观察家都认为Apache 的这个举动应该在意料之内。在Apache 软件基金会发布这个声明前,有很多人已经选择了离开,比如十月份离开的 Doug Lea ,他说 “我认为 JCP 已经不再是可信赖的规范和标准了”,还有最近离开的 Tim Peierls ,他对 Java SE JSRs 投了反对票。这个人们意料之中的决定反映出了这样一个事实:Oracle“没能履行其在 JSPA 中的职责”——为 Java SE TCK 提供合理、无差别的许可。事实上,Oracle 最近在法庭上承认他们过去一直支持 Apache 拥有开放的 TCK,同时声称“符合要求的大学、学院、 非营利组织以及个人”可以免费使用许可。

Java 技术

即使是 Java 系统也会变成“遗留”系统。每当我们想起遗留系统时,就会想起那些存储着大量文件数据并只能用 COBOL 访问的嘎吱嘎吱作响的大型主机。但事实是,Java 已经是一门具有 15 年历史的开发语言,用 Java 写就的成千上万的系统已经成功运行了十年甚至更久。因此,考虑到许多读者都会工作在某个遗留的 Java 系统上,作者根据自己的经验特地攒了这八个技巧,来帮助团队更新和激活他们的遗留 Java 应用。

Hibernate 是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。在你的项目中引入 Hibernate 并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时间和经验的。通过作者的使用 Hibernate 3.3.1 和 Oracle 9i 的能源项目中的一些例子,本文涵盖了很多 Hibernate 调优技术。其中还提供了一些掌握 Hibernate 调优技术所必需的数据库知识。

Tellurium 自动化测试框架是由方剑在 2007 年 6 月创建的用于测试 Web 应用的框 架,并在 2008 年 6 月移步到 Google Code 成为一个开源项目。项目的核心已经历时两年,并繁衍出了多个子项目,包括:UDL、Core、Engine、Widget 扩展、Maven Archetype、Trump、Tellurium IDE、TelluriumWorks 以及参考项目。这个框架是从 Selenium 框架发展而来,但又具有不同的测试理念。大多数 Web 测试框架,比如 Selenium,主要致力于单独的 UI 元素。而 Tellurium 恰好相反,它把多个 UI 元素看作一个 Widget 整体,并将其称作 UI module。

Java 类文件中包含的字节代码可以被不同平台上的 JVM 所使用。Java 字节代码不仅可以以文件形式存在于磁盘上,也可以通过网络方式来下载,还可以只存在于内存中。JVM 中的类加载器会负责从包含字节代码的字节数组(byte[])中定义出 Java 类。在某些情况下,可能会需要动态的生成 Java 字节代码,或是对已有的 Java 字节代码进行修改。这个时候就需要用到本文中将要介绍的相关技术。

本文将通过具体的实例(使用 Scala、Spring 和 JPA 编写)阐述如何借助于隐式转换和特征(traits)等 Scala 的强大概念来增强 Spring 应用。此外,本文还将介绍如何平滑填充 Java 框架与 Scala 之间的沟壑。

内存屏障,又称内存栅栏,是一组处理器指令,用于限制对内存操作的顺序。本文介绍了内存屏障对多线程程序的影响,将研究内存屏障与 JVM 并发机制的关系,如易变量、同步和原子条件式。

过去几年,Java 模块化一直都是一个活跃的话题。从 JSR 227(现已废止)到 JSR 291,以及正在进行中的 JSR 294,模块化看起来是 Java 进化过程中的必经一环。即便是基于 JVM 的未来语言,比如 Scala,也考虑了模块化的问题。那么,模块化意味着什么?为什么要关注它呢?专题文章分别从入门静态模块化动态模块化声明式模块化四个方面详细分析该问题。

把大型系统移植到 OSGi 架构上常常意味着解决复杂的类加载问题。这篇文章专门研究了面向这个领域最难问题的几个框架:有关动态代码生成的框架。这些框架也都是些超酷的框架:AOP 包装器,ORM 映射器以及服务代理生成器,这些仅仅是一些例子。

Java 社区迷你书

Maven——这一 Java 社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。本书内容全面而系统,Maven 的原理、使用方法和高级应用尽含其中;注重实战是本书的另一个特点,不仅在各个知识点都辅有大量的小案例,而且还有一个综合性的案例贯穿全书。如果你想使用 Maven,或正在使用 Maven,本书将给你绝佳的指导。

Grails 是基于 Java 和 Groovy 的快速 Web 开发框架。得益于 Grails 提供的脚手架和“惯例优于配置”,初次接触的新手会非常惊讶地看到可以快速地搭建 并运转起一个以页面为中心的 MVC Web 站点。高级的 Web 开发者则往往对可以轻易地利用他们现有的 Spring 和 Hibernate 经验而惊喜万分。《Grails 入门指南》可以加速你对这一现代 Web 框架的了解。诸如 LinkedIn、Wired、Tropicana 和 Taco Bell 这样的公司都已经在使用 Grails 了。你是否也准备好开始了呢?

最后,InfoQ 中文站 Java 社区感谢读者长久以来的厚爱和关心,在 2011 年我们将努力向大家奉献更具价值的新闻和文章,敬请关注。

2011-01-09 04:293276
用户头像

发布了 501 篇内容, 共 257.7 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

在线文本左边批量添加字符串工具

入门小站

工具

王者荣耀商城异地多活架构设计

小虾米

架构师实战营

SREWorks持续交付云原生化: 镜像构建

阿里云大数据AI技术

大数据 运维 云原生

架构的尽头是架构师

IT民工大叔

架构师

纪念左晖:敢为天下先(修订版)

IT民工大叔

产业互联网 数字化转型 企业家精神 左晖

如何在 JavaScript 中让代码更加精简

devpoint

ES6 6月月更

小程序生态构建能力,离不开UI定制自由

Speedoooo

ide 小程序ide

中小互联网公司研发效能团队规模、职能划分和优劣势分析

laofo

DevOps cicd 研发效能 持续交付 互联网公司

CC2530 ADC配置步骤

DS小龙哥

5月月更

性能优化手记上篇之【原则】&【方法】

鲸品堂

拯救工程师,远程开发C++的四大秘笈|视频教程

OneFlow

c++ 教程分享

CopyOnWriteArrayList 源码分析-其它方法

zarmnosaj

5月月更

在FinClip Hackathon中夺冠是一种什么样的体验?

FinClip

小程序 黑客马拉松 finclip

服务端技术进阶(三)从架构到监控报警,支付系统设计如何步步为营

No Silver Bullet

架构 支付系统 架构设计 5月月更 监控报警

web前端培训Vue3 TypeScript 如何实现useRequest

@零度

Vue 前端开发

“技术商人”溯源考

IT民工大叔

华为 工程师 任正非讲话 商业意识 复合型人才

没有JDK和Maven,用Docker也能构建Maven工程

程序员欣宸

Java Docker maven 5月月更

eBPF 简介

申屠鹏会

ebpf

给微信小程序配一个App如何?

FinClip

finclip 小程序转app

智能手表的机遇与挑战

Geek_99967b

物联网

高校学生请注意:想成为技术大牛,参加这个计划就够了!

科技热闻

校企融合,打造金融科技应用人才高地

非凸科技

校企合作 非凸

在线HTML转ASP工具

入门小站

工具

IOC思想开窍之路

留乘船

Java spring ioc

探密"一学就会,一用就废"的OKR

Bruce Talk

OKR 敏捷 Agile

浅析数字化转型与产业互联网

IT民工大叔

产业互联网 数字化转型

SAP UI5 框架的 manifest.json

汪子熙

前端开发 SAP Fiori SAP UI5 5月月更

企业电子文档管理需要注意的点及解决措施

小炮

文档管理

近一个月B站封禁直播间1874个:直播行业仍然是违规重灾区

石头IT视角

3000帧动画图解MySQL为什么需要binlog、redo log和undo log

CoderW

后端 面试题 Binlog Redo Log MySQL 数据库

小程序转App仅需7步

Speedoooo

ide APP开发 小程序转app 前端IDE

2010年InfoQ中文站Java社区回顾:让Java飞一会_Java_崔康_InfoQ精选文章