速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

如何在不敲代码情况下用ChatGPT开发一个App

Geek_2305a8

Paste for Mac破解版(剪切板管理神器) 绿色安全无广告

南屿

免费好用的电子阅读神器MarginNote 3 for Mac

南屿

基于volcano实现节点真实负载感知调度

快乐非自愿限量之名

架构 Volcano 负载测试

Gas Hero Common Heroes NFT 概览与数据分析

Footprint Analytics

区块链游戏 NFT

WMS系统与电商平台快速拉通库存数量

RestCloud

自动化 零代码 wms APPlink

语音数据集在智能驾驶中的关键作用与应用

来自四九城儿

JDK17 Groovy Caffeine 模块化报错分享

FunTester

Parallels Desktop 虚拟机提示“由于临界误差,不能启动虚拟机”怎么办

南屿

京东广告算法架构体系建设--高性能计算方案最佳实践 | 京东零售广告技术团队

京东科技开发者

雷霆游戏加入鸿蒙“朋友圈”,《问道》手游启动鸿蒙原生应用开发

最新动态

掌握 Robot Wramework:高效进行接口自动化

Liam

Jmeter 自动化测试 接口测试 测试工具 Robot Wramework

多平台Java安装程序构建器 install4j for Mac v10.0.7中文激活版

南屿

质量保障工作的核心Roadmap

老张

软件测试 质量保障

语音数据集:智能驾驶中车内语音识别技术的基石

来自四九城儿

业界声音|PolarDB最值得关注的技术创新有哪些?

阿里云瑶池数据库

数据库 云计算 阿里云 云原生 polarDB

API接口的艺术:如何巧妙获取商品数据

Noah

软件测试学习笔记丨APP自动化测试-Appium环境安装

测试人

软件测试 测试 自动化测试 测试开发 appium

Mac软件精选壁纸软件:Backgrounds for Mac(桌面动态壁纸)

南屿

Apple 发布 iMovie、Final Cut Pro、Compressor、Motion 的更新

南屿

OurBMC社区官网正式上线,邀您一起共建社区

OurBMC

ourBMC 官网上线 共建社区

颠覆传统API集成:幂简集成的“集采分离”革新理念

幂简集成

API API Hub

macos图标素材 macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

南屿

软件测试学习笔记丨微信小程序自动化测试

测试人

小程序 软件测试 自动化测试 测试开发

服装企业的配补调系统:从传统到智能的转型

第七在线

分库分表已成为过去式,使用分布式数据库才是未来

不在线第一只蜗牛

数据库 源码 分布式 TiDB

【Swift专题】聊聊Swift中的属性

珲少

电影级特效:SideFX Houdini mac破解安装教程 附注册机 支持M1/M2

南屿

荣耀时刻,「第5届天池全球数据库大赛」圆满收官

科技热闻

苹果电脑 MacBooster 8 Pro Mac软件 删除Mac恶意软件和病毒

南屿

c4d r21中文破解版下载 C4D三维动画设计制作软件

南屿

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