【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:293162
用户头像

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

关注

评论

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

Go Slice 扩容的这些坑你踩过吗?

王中阳Go

Go golang 高效工作 学习方法 面试题

2023金三银四最新Java面试题大全(整理版)1000+面试题附答案详解

架构师之道

程序员 java面试

阿里巴巴灵魂一问:说说触发HashMap死循环根因

Java你猿哥

Java jdk 后端 ssm

Java体系最强干货分享—挑战40天准备Java面试,最快拿到offer!

Java你猿哥

Java 后端 ssm 面经 春招

如何基于 Apache Doris 与 Apache Flink 快速构建极速易用的实时数仓

SelectDB

flink 数据湖 实时数仓 Doris 数据库、

Apache Doris 1.2.3 Release 版本正式发布

SelectDB

数据仓库 数据湖 Doris 数据湖Catalog catalog

美团二面特点:喜欢写一个 SQL 语句,然后问你加了哪些锁!

Java你猿哥

Java 数据库 sql ssm InnoDB存储引擎

GPT-4:我不是来抢你饭碗的,我是来抢你锅的

这我可不懂

低代码 ChatGPT JNPF GPT-4

Portraiture最新版插件新增哪些功能?

茶色酒

Portraiture4

StyleGAN 生成 AI 虚拟人脸,再也不怕侵犯肖像权

极客飞兔

人工智能 AI 图像处理 StyleGAN 人脸生成

中小企业运维安全审计用什么软件好?有推荐吗?

行云管家

信息安全 堡垒机 运维审计

京东三面:说说synchronized和volatile的区别

Java你猿哥

Java 面试 ssm 面经 Java多线程

分析 | NFTScan NFT API 在加密钱包开发中的应用

NFT Research

API NFT

MQTT 5.0特性Inflight Window&Message Queue

EMQ映云科技

物联网 IoT mqtt emqx 企业号 3 月 PK 榜

EMQ&南洋万邦云边一体化方案:激活数据潜力,打造智慧工业园区

EMQ映云科技

物联网 IoT 工业互联网 智能制造 企业号 3 月 PK 榜

轻松搞定面试拿offer的Java面试宝典(全彩图文版)24个Java技术栈

Java你猿哥

Java 面试 ssm 面经 java技术栈

币安欧意交易所合约跟单平台软件开发详情(api对接)

开发微hkkf5566

想稳中求进?字节大佬的硬核学习神器《图解Java并发编程》看了吗

Java你猿哥

Java 面试 Java并发 ssm 面经

GPT-4:不open的OpenAI,终于不再编造事实

鼎道智联

openai ChatGPT4

代码实战带你了解深度学习中的混合精度训练

华为云开发者联盟

人工智能 深度学习 华为云 华为云开发者联盟 企业号 3 月 PK 榜

如何利用ChatGPT搞科研?

Openlab_cosmoplat

人工智能 开源社区 ChatGPT

爱了!阿里P8纯手码出489页SQL优化手册,附笔记源码

做梦都在改BUG

Java 数据库 sql 面试

3月27日“文心一言云服务”系列产品将发布 已有21家企业签约

Geek_2d6073

Atlassian Server用户新选择 | 迁移到数据中心版前,您需要做这些准备(1)

龙智—DevSecOps解决方案

Atlassian Atlassian迁移 数据中心版 server版

TechBits | TCP 使用 WireShark 进行抓包

Java你猿哥

Java 后端 ssm

GO语言集成开发: GoLand 2022 中文激活版

真大的脸盆

Mac 代码开发 Mac 软件 代码编辑 代码编辑工具

CorelDRAW Graphics Suite2023功能介绍

茶色酒

cdr2023

硬核!腾讯大佬最新手打的Spring Boot笔记,从原理到实战再到源码

Java你猿哥

Java Spring Boot 后端 面经

【IT小知识】扩容是什么意思?扩容的近义词有哪些?

行云管家

扩容 IT运维

给跪了!阿里P7技术专家进阶必备,架构进阶宝典

做梦都在改BUG

Java 进阶 架构师

见技术大佬,领惊喜好礼!快来领取数据库峰会邀请函!

InfoQ写作社区官方

数据库 云原生 阿里 热门活动 阿里云瑶池数据库峰会

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