QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

【HarmonyOS NEXT】异步编程的神器之Promise

冉冉同学

鸿蒙 HarmonyOS 客户端 harmony HarmonyOS NEXT

Crossover和虚拟机能玩的游戏一样吗 CrossOver相比于虚拟机有哪些优势

阿拉灯神丁

windows 游戏 虚拟机软件 Mac电脑软件 CrossOver 24

NTFS Disk by Omi NTFS for mac(NTFS 磁盘管理器)中文版

Mac相关知识分享

2024-11-20:交替子数组计数。用go语言,给定一个二进制数组 nums, 如果一个子数组中的相邻元素的值都不相同,我们称这个子数组为交替子数组。 请返回数组 nums 中交替子数组的总数。 输

福大大架构师每日一题

福大大架构师每日一题

关于大模型语料的迷思

阿里技术

大模型 语料 思维过程

淘宝评价API接口的开发与应用

科普小能手

淘宝 API API 接口 淘宝商品评价接口 淘宝商品API

PingCAP 跻身 Forrester Wave 报告,成为唯一连续两次上榜的中国数据库厂商

先锋IT

IPQ9574 and QCN9274/QCN6274: Unlocking the Full Potential of WiFi 7

wifi6-yiyi

WiFi7

【JIT/极态云】技术文档-- Word模版

武汉万云网络科技有限公司

低代码

企业人事管理系统对比:9款值得信赖的推荐

易成研发中心

工作上个的好搭子——通义灵码测评分享

穿过生命散发芬芳

通义灵码

位置共享可以修改自己位置吗

科技热闻

耗时122天,终于把牛客网点赞飙升的Java面试题(含答案)整理出来了

采菊东篱下

java面试

Twitterrific for Mac(Twitter客户端)适配Monterey 12

Mac相关知识分享

即时通讯技术文集(第43期):直播技术合集(Part3) [共13篇]

JackJiang

即时通讯;IM;网络编程

不要为了找工作而考证!

老张

考试认证 求职面试

1688 API接口详解:商品详情、关键字搜索、店铺商品及按图搜索(拍立淘)

代码忍者

API 接口 pinduoduo API

软件系统国产化以后,应用是否需要0-1开发?

FinFish

小程序容器 小程序容器技术 纯血鸿蒙 信创操作系统

After Effects 2022 for Mac(AE 2022)中文版

Mac相关知识分享

淘宝商品详情API:实现商品属性与价格数据的动态同步

代码忍者

API 接口 pinduoduo API

【FAQ】HarmonyOS SDK 闭源开放能力 —ArkUI

HarmonyOS SDK

HarmonyOS

告别延迟,酣战不停!GoLink携手火山引擎打造丝滑游戏加速体验

火山引擎边缘云

边缘计算 游戏 火山引擎 加速器

RAG 技术:让 AI 从 “书呆子” 变身 “开卷小天才”!

Alter

AI 大模型 rag

微店商品详情API接口详解

代码忍者

API 接口 pinduoduo API

法行宝爱企查全新AI形象上线,新角色度律度秘登台亮相

科技热闻

如何利用京东API接口在商品详情页展示全网价格数据信息

代码忍者

API 接口 pinduoduo API

深入了解HR人事管理系统:8大厂商的综合评估

易成研发中心

【JIT/极态云】技术文档--应用变量

武汉万云网络科技有限公司

低代码

2024年互联网高级架构师Java面试八股汇总(附答案整理)

架构师之道

java面试

解锁亚马逊购物新境界:深度探索API接口——从商品详情到评论分析,再到关键字搜索实战指南

代码忍者

API 接口 pinduoduo API

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