Oracle为JDK 8寻求社区参与

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

译文链接:http://www.infoq.com/cn/news/2011/04/oracle-jdk8

转载于:https://www.cnblogs.com/mixer/archive/2011/04/11/2448577.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu下安装pt-query-digest

最近在改造开发MySQL时要使用pt-query-digest工具分析性能问题,一路遇到了一些问题,记录下来便于日后翻看。 系统: #45~20.04.1-Ubuntu SMP Mon Apr 4 09:38:31 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 在安装过程中遇到了很多的问题&#…

S2-016、S2-017

前言 由于S2-016、S2-017出现的原因时相同的,只是由于poc不一样,造成了不同的攻击。S2-016是RCE,S2-017是开发型重定向漏洞。这里将两个漏洞放一起分析。另外“Struts2系列起始篇”是我整各系列的核心,希望大家能花些时间先看看。…

struts 2 配置通配符

2019独角兽企业重金招聘Python工程师标准>>> 随着Web应用程序的增加,所需的Action也会更多,从而导致大量的action映射,使用通配符可以减少action配置的数量,使一些具有类似行为的Action或者Action方法可以使用通用的样…

image to pdf

public void ExportDataIntoPDF(string pathName, String path){//导出至PDFiTextSharp.text.Document document new iTextSharp.text.Document(); try{iTextSharp .text .pdf .PdfWriter .GetInstance (document, new FileStream(pathName, FileMode.CreateNew ));document.O…

Mysql索引类型分析

一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_name](col_name[length])[asc|desc] 1.unique|fulltext为可选参数&#xf…

记一次使用pt-query-digest工具分析MySQL慢查询日志

最近遇到了MySQL性能问题,使用percona 的 pt-query-digest工具分析性能的瓶颈点。并且pt-query-digest工具要优于MySQL本身自带的mysqldumpslow工具。 查看pt-query-digest工具在ubuntu下的安装流程请看:ubuntu下安装pt-query-digest_一缕阳光a的博客-CS…

App 运营的指标具体都有哪些?(四)

因产品而异,要看产品类型的工具类,启动次数很重要;社区类,活跃用户和UGC很重要;游戏,在线人数和arpu值是关键。。。转载于:https://blog.51cto.com/yerik/1166365

骗子公司陆续公布中...

11年04月11日,在网吧投简历,突然一条短信,算是收到的第一个面试通知,有点激动,“通诚公司”,而且我们4个同时收到,第一感觉就是不对劲,公司面试通知都会电话通知的,去百度…

Hadoop2.4.1入门实例:MaxTemperature

版权声明:本文为博主原创文章。转载请注明来自http://blog.csdn.net/jediael_lu/ https://blog.csdn.net/jediael_lu/article/details/37596469 注意:下面内容在2.x版本号与1.x版本号相同适用,已在2.4.1与1.2.0进行測试。一、前期准备 1、创建…

Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值?

之前的两篇有关EF4.1的文章反响不错,感谢大家的支持!想体验EF4.1的新功能?RTW版本已经发布啦,http://www.microsoft.com/downloads/en/details.aspx?FamilyIDb41c728e-9b4f-4331-a1a8-537d16c6acdf&displaylangen Entity …

[WorldWind学习]5.相机对象

首先查看WorldWindow的事件:OnMouseUp、OnMouseMove、HandleKeyDown,这几个方法中多次调用this.drawArgs.WorldCamera的各种属性实现了场景的控制,包括球的旋转、场景的放大缩小,上下移动。 1. 接下来查看CameraBase类RotationYaw…

MySQL中varchar(11)与int(11)的区别

结果: 对于varchar(11):最多存储11个字符,超过则不存。 mysql> create table tt(c1 int primary key,c2 varchar(50))enginexxx; Query OK, 0 rows affected (0.15 sec)mysql> insert into tt values(1, aaaaaaaaaabbbbbbbbbbccccccc…

@Slf4j

注解Slf4j:(当前日志为logback,其他日志框架不祥) 直接使用log.xxxx("mothod is start") 例如:log.info("/returncode/add start"); 代替 如果不想每次都写 private final Logger logger LoggerFactory.getLog…

在VS2010开发的MVC3 应用程序中设定默认的浏览器

vs2010做mvc3 开发,用的是Razor的View,想修改默认浏览器,发现右键没有"浏览方式",把View改成.aspx的,也没有找到这个选项. 解决方法两种 (1)最简单的,建个Asp.net Web应用程序,在随便一个xxx.aspx页面,右键"浏览方式"即可.. (2)通过修改项目属性也可以,右键…

hdu 1161 Eddy's mistakes

http://acm.hdu.edu.cn/showproblem.php?pid1161 本题主要运用的就是大小写的转换&#xff1b; 我写的代码&#xff1a; #include<iostream>#include <string>#include <ctype.h>using namespace std;int main(int argc, char *argv[]){ string a; ch…

今年适合买房吗

本人是程序员&#xff0c;今天不聊程序相关的事情。不过今天有了点时间&#xff0c;考虑了下今年是否适合买房这件事。因为从中央到地方都在鼓励买房&#xff0c;每个人根据自己的实际情况决定是否要买房。 优点&#xff1a; (1)、房贷利率低&#xff0c;基本上是历史低点了 …

[18]Debian Linux Install GNU GCC Compiler and Development Environment

# apt-getinstall build-essential# gcc -v# make -v转载于:https://www.cnblogs.com/smartvessel/archive/2011/04/16/2018459.html

FireEye:2012年下半年高级威胁分析报告

最近&#xff0c;fireeye发布了2012年的高级威胁分析报告。根据对超过8900万获取的恶意代码事件进行分析&#xff0c;Fireeye认为&#xff1a; 1&#xff09;平均一个组织和单位每三分钟就会遭受一次恶意代码***&#xff0c;特指带有恶意附件、或者恶意WEB链接、或者CnC通讯的邮…

main()的参数argc与argv

C语言中的main()函数,一般会带有2个参数,例如int main (int argc, char* argv[]),这是一个典型的main函数的声明。 参数如下&#xff1a; argc: 整数, 为传给main()的命令行参数个数。 argv: 字符串数组。 在DOS 3.X 版本中, argv[0] 为程序运行的全路径…

数组中的forEach和map的区别

大多数情况下&#xff0c;我们都要对数组进行遍历&#xff0c;然后经常用到的两个方法就是forEach和map方法。先来说说它们的共同点 相同点 都是循环遍历数组中的每一项forEach和map方法里每次执行匿名函数都支持3个参数&#xff0c;参数分别是item&#xff08;当前每一项&…