飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

Oracle 为 JDK 8 寻求社区参与

  • 2011-04-10
  • 本文字数:1491 字

    阅读完需:约 5 分钟

随着 Java 7 功能的日益完备,Oracle 正在将注意力转向 JDK 8,Java 平台组的首席架构师 Mark Reinhold 正在寻求 Java 社区的参与

我们已经知道 JDK 8 中会有一些大家伙,同时也会为其他大大小小的特性留下空间。因此需要时间来定义一个简单的流程,对 JDK 8 以及后续版本新特性的提案和计划进行收集、排序、审查和排列优先级。

这个流程应该“尽可能轻量化”,带上“简单的技术细节”,并且“对所有提交者开放,决策要透明”,Reinhold 说到,现在能以文本文件的形式在 Mercurial 库里收集提案。

Reinhold 提到的“大家伙”指的主要是那些已经被证明要包含在 JDK 7 里很困难,或者备受争议的东西。主要的内容可能是 Java 平台模块系统,还有 lambdas(也被称作闭包或匿名方法)。

提供一个模块系统是 Java 7 的主要目标之一,但由于 Sun 选择开发一套自己的解决方案――Jigsaw,而不是用现成的 OSGi,使得这项任务变得备受争议。Sun 给出了两个原因。第一,他们希望让应用程序能绑定到更多的运行平台上,不止是 OSGi 的运行平台,这样用 Java 编写的桌面应用程序在 Java 支持的多种平台上就能更像一等公民了。第二,两个系统的依赖模型不同。Sun 需要能将包拆分到不同的模块里,在运行时加载到同一个 ClassLoader 中――举例来说 java.util 包可能会被拆分到不同的模块中(或者,对于内存受限的设备,甚至会有不同的实现)。为了支持这点,Jigsaw 有一个本地依赖的概念,它是递归的。因此,如果模块“Swing”对模块“AWT”有一个本地依赖,模块“AWT”对模块“base”有一个本地依赖,那么在运行时模块 Swing、AWT 和 base 最终都会在同一个 ClassLoader 里。OSGi 有一个类似的概念,用的是片断(fragment)的形式,但灵活性稍差,因为它们无法自己表达依赖。当然,OSGi 有可能为这些额外的需求增加支持,但无论采取哪种方式,Oracle 都希望做到与 OSGi 兼容。 Java 8 JSR 中说到

Java Platform Module 对 OSGi 的采纳、互操作或者适应程度都将成为 JSR 专家的一个话题,Java SE 8 专家组会讨论并得出结论的。

为语言增加 Lambda 表达式的计划有很多提议( BGGA Proposal | CICE Proposal | FCM Proposal | C3S Proposal ),但还没有形成明确的结论,到底采用哪种方式。Project Lambda,以及同它一起的 JSR 335 ,将重新审视这个问题。作为其中的一部分工作,会有一个提案来增加“SAM 变换”(SAM conversion)支持,这可以在希望使用单一抽象方法接口或类的地方使用 lambda 表达式,可以正向兼容现有库。JSR 还提议扩展 Java 语言接口的语义来支持虚扩展方法。在实现类没有提供扩展方法实现的情况下,这将允许接口指定一个静态默认方法来代表接口方法的实现。

说完了这些主要内容,JSR 还提到了:

  1. 源自 Project Coin 的很多小的增强。很有可能包含 Josh Bloch 的 Collection Literals ,旨在支持不可变的 List、Set 和 Map 内容,其中带有与数组初始化程序类似的语义。还有可能会看到针对 JSR-292 中的新 JVM 特性的源代码语法的复兴。
  2. Type Annotations( JSR 308 ):扩展的 Java 注解系统允许注解出现在类型的各种用法上。
  3. 新的日期和时间 API( JSR 310 )。
  4. Swing JDatePicker。

我们还希望 Oracle 继续构建 Java 对并行编程的支持,增加对 filter、map 和 reduce 这样的可并行化的批量数据操作的支持。

在 EclipseCon 上,Reinhold 陈述了 Oracle 的首要目标是要保证 Java 仍然是第一语言和平台。

Oracle 有 20,000 名 Java 开发者,除了核心数据库以外的一切都是用 Java 编写的。如果 Java 没落了……那将会有一笔巨大的重复投资。

Java 8 有望在 2012 年末发布。

阅读英文原文: Oracle Seeking Community Input for JDK 8

2011-04-10 04:504024
用户头像

发布了 135 篇内容, 共 62.2 次阅读, 收获喜欢 43 次。

关注

评论

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

Koordinator 一周年,新版本 v1.2.0 支持节点资源预留,兼容社区重调度策略

阿里巴巴云原生

阿里云 开源 云原生 Koordinator

缓存的处理步骤

阿泽🧸

缓存 三周年连更

如何在 Linux 中查找文件所有者?

wljslmz

三周年连更

INFINI 产品更新|Console v1.0 版本正式发布

极限实验室

elasticsearch console Gateway infini 极限网关

Shell脚本实战:Consul 服务注册和注销的最佳实践

小毛驴的烂笔头

Linux Shell

音视频八股文(4)--ffmpeg常见命令(3)

福大大架构师每日一题

音视频 ffmpeg

数字未来:世界正走向新的“破茧时刻”

脑极体

华为

Matlab实现光伏发电电池模型

Shine

三周年连更

精进云原生 - Dubbo 3.2 正式发布

阿里巴巴云原生

阿里云 云原生 dubbo

关于容器云的三种网络设计

穿过生命散发芬芳

容器云 三周年连更

学会 Go select 语句,轻松实现高效并发

陈明勇

Go golang 高并发 select 三周年连更

Android调用WebService

芯动大师

HTTP WebService 三周年连更

R 编程并发的基础知识有哪些?

海拥(haiyong.site)

三周年连更

发现了一个对公有云资源进行规范管理的方法

cynthia

公有云 云管平台 安全合规

Kubernetes架构解析

乌龟哥哥

三周年连更

TestNG 中使用 Guice 来进行依赖注入

HoneyMoose

Oracle apex社区教程 PLSQL常用时间函数

back_wang

oracle apex

百度平地起“雷”,突然爆出的QPS数据意味着什么?

脑极体

大模型

测试需求平台8-Arco组件实现产品增改需求

MegaQi

测试平台开发 三周年连更 AcroVue

职业规划:如何面对“程序员失业”?| 社区征文

ninetyhe

人工智能 AI 大龄程序员 三周年征文

极客时间「大师课·深度剖析 RocketMQ5.0」上线啦,欢迎免费领取!

阿里巴巴云原生

阿里云 RocketMQ 云原生

CnosDB成为首个支持sqllogictest的时序数据库,稳定性与可靠性再升级

CnosDB

数据库 开源 时序数据库 CnosDB

python时间序列预测之Holt-Winters

AIWeker

Python 机器学习 时间序列 三周年连更

Shell脚本从入门到精通

袁袁袁袁满

三周年连更

上线控制台,降低使用门槛|Higress 1.0.0 RC 版本发布

阿里巴巴云原生

阿里云 云原生 Higress

Oracle Apex学习之系统变量

back_wang

oracle ebs oracle apex

如何使用 Java 将 JSON 文件读取为字符串?这三种方法很管用!

Java架构历程

三周年连更

2022-04-23:给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 集合 或者 B 集合中 使得 A 集合和 B 集合不为空,并且 average(A) == aver

福大大架构师每日一题

golang 算法 rust

《精进3:找到你的潜在生态位》

石云升

读书笔记 三周年连更

Kubernetes网络模型分析

王玉川

Kubernetes 云原生 网络 iptables cluster

Unity 之 关于停止协程的五种方式解析

陈言必行

Unity 三周年连更

Oracle为JDK 8寻求社区参与_Java_Charles Humble_InfoQ精选文章