阅读更多

1顶
0踩

编程语言

转载新闻 刚刚,Java 10 正式发布了

2018-03-21 10:01 by 副主编 jihong10102006 评论(4) 有13594人浏览

3 月 20 日,Oracle 宣布 Java 10 正式发布。官方已提供下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

在 Java 9 之后,Java 采用了基于时间发布的策略,每 6 个月一个版本。这是采用新的发布策略之后的第一个版本。

 

Java 10 主要有 12 个新特性。

具体来看看。

 

JEP 286: Local-Variable Type Inference

 

局部变量的类型推导。

很多人都会吐槽 Java 代码写起来太过繁琐,特别是涉及泛型的时候。就像 C++,也基于 auto 关键字引入了类型推导功能。

Java 也计划引入类似特性,语法是这样的:

var list = new ArrayList<String>();  // infers ArrayList<String>var stream = list.stream();          // infers Stream<String>

 

该特性只能用于三种场景:

  • 带有初始化信息的局部变量

  • 增强 for 循环中的索引

  • 传统 for 循环中的局部变量

看个复杂点的例子:

对该特性感兴趣的读者可以参考:https://developer.oracle.com/java/jdk-10-local-variable-type-inference
JEP 296: Consolidate the JDK Forest into a Single Repository

 

将 JDK 的多个代码仓库合并到一个代码仓库中。

看过 JDK 代码的应该知道,JDK 的不同功能分布在不同代码仓库中。以 JDK 9 为例,代码仓库有 8 个: root, corba, hotspot,jaxp, jaxws, jdk, langtools 和 nashorn。其中 hotspot 是虚拟机实现代码,jdk 是 Java 类库和相关工具,langtools 是 javac 等工具,nashorn 是 JavaScript 引擎。

JEP 304: Garbage Collector Interface

 

垃圾收集器接口。

在 hotspot/gc 代码实现方面,引入一个干净的垃圾收集器接口,改进不同垃圾收集器源代码的隔离性。这样添加新的或者删除旧的 GC,都会更容易。

 

 

JEP 307: Parallel Full GC for G1

 

为 G1 垃圾收集器引入并行 Full GC。

JEP 310: Application Class-Data Sharing

 

Java 之前就引入了类数据共享机制,Class data sharing (CDS) ,以减少 Java 程序的启动时间,降低内存占用。简单来说,Java 安装程序会把 rt.jar 中的核心类提前转化成内部表示,转储到一个共享的文件中(shared archive)。多个 Java 进程(或者说 JVM 实例)可以共享这部分数据。

现在,希望更近一步,支持应用类的数据共享。

 

JEP 312: Thread-Local Handshakes

 

修改安全点机制,使得部分回调操作只需要停掉单个线程,而不像以前那样,只能选择或者停掉所有线程,或者都不停止。

 

JEP 313: Remove the Native-Header Generation Tool (javah)

 

去掉 javah 工具。

从  JDK 8 开始,javah 的功能已经集成到了 javac 中。所以,javah 可以删掉了。

 

JEP 314: Additional Unicode Language-Tag Extensions

 

额外的 Unicode 语言标签扩展。

增强 java.util.Locale  和相关 API,实现 BCP 47 语言标签中额外的 Unicode 扩展。

 

JEP 316: Heap Allocation on Alternative Memory Devices

 

在可选内存设备上分配堆内存。

支持将 Java 对象堆分配到 NV-DIMM 等内存设备上。随着 NV-DIMM 越来越便宜,未来的系统可能会搭载异构内存架构。

 

JEP 317: Experimental Java-Based JIT Compiler

 

实验性的基于 Java 的 JIT 编译器。

支持基于 Java 的 JIT 编译器。相关工作主要基于 Graal。Graal 也是 Java 9 中引入的 AOT 编译器的基础。

 

JEP 319: Root Certificates

 

根证书。

在 JDK 中提供一组默认的根证书。

 

JEP 322: Time-Based Release Versioning

 

基于时间的版本字符串。修改 Java SE 平台和 JDK 版本字符串机制。考虑和之前版本号的兼容等问题,新的版本命名机制是:

$FEATURE.$INTERIM.$UPDATE.$PATCH
$FEATURE,每次版本发布加 1,不考虑具体的版本内容。(之前的主版本号部分)2018 年 3 月的版本是 JDK 10,9 月的版本是 JDK 11,依此类推。
$INTERIM,中间版本号,在大版本中间发布的,包含问题修复和增强的版本,不会引入非兼容性修改。
马上下载尝试吧!

  • 大小: 125.2 KB
  • 大小: 133.1 KB
来自: 开发资讯
1
0
评论 共 4 条 请登录后发表评论
4 楼 SuiFeng枫 2018-03-23 19:44
然而我还在用jdk1.6
3 楼 风一样的男人__ 2018-03-23 15:26
 
2 楼 masuweng 2018-03-22 13:25
8,9,都没有用过,出来10了,    
1 楼 cremains 2018-03-21 10:59
  这也太快了吧。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • ActiveXTest代码

    ActiveXActiveXTest代码ActiveXTest代码ActiveXTest代码

  • ActiveX发布步骤

           元旦刚过,老板就吩咐起草一份项目可行性报告,昨天刚完,掰手指头一算,整整没日没夜写了4天!老板又让偶写一个网页控件给客户。是在内部网发布,发布过程还是频费一翻周折,呵,好记性不如烂笔头,记下来:      以下ActiveX发布所需工具下载:http://d.download.csdn.net/down/326629/memory_xj       开发一个示功图显示程序,控件为

  • 开源发布一个Web在线截图ActiveX控件,通过AJAX可以自动上传到服务上

    开源发布一个Web在线截图ActiveX控件,通过AJAX可以自动上传到服务上

  • ActiveX打包与发布

    一、ActiveX发布步骤1、单击"开始""运行(R)"输入"cmd"回车进入到操作的控件所在的目录;2、创建PVK文件(私人密匙文件),在命令行中输入"makecert -sk demo demo.pvk -n CN=XXXXXXX公司",然后回车;3、创建CER文件(公司证书),在命令行中输入"makecert -sk demo.pvk demo

  • 发布Activex

    1、如果需要创建cab文件,首先需要Cabarc或者Makecab,它们随着Cabinet  SDK的安装就有了,Cabinet  SDK的下载地址是http://msdn.microsoft.com/workshop/management/cab/cabdl.asp。  Cabarc可以创建、查看或者解出cab里面的文件,而Makecab则只可以用来创建cab文件。  2、制作cab文件时需要将

  • vs2010开发activex(MFC)控件/ie插件(一)

    vs2010制作基于mfc的ie插件

  • 用ActiveXObject可实现从客户端本地上传文件到服务器端的功能

    1、javascript代码如下,filePath为服务器路径: function sendFileToServer(filePath){     var stream =newActiveXObject("ADODB.Stream");     stream.Type=1;      stream.Open();      stream.Position = 0;     s

  • Activex test contact failed to create control 未指定的错误 控件无法加载的原因

    本文指的是vc++项目的activex  出现这个问题, 我总结了总共有以下几点,可能还有其他原因:1.中文问题:如果你的项目类型是多字节的,而不是unicode编码的,你可能要注意这个问题了,我就发生了这个问题,为了解决这个问题没办法项目重新生成然后一个一个去排除,结果发现在 "copyright 公司名称(C)"的地方多了一个公司名称,是我自己手动加上去的,结果就是这个说明给搞的不能运

  • 如何发布ActiveX 控件

    [背景]       做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必须进行本地的注册,也就是说用户得首先要把该ActiveX控件(test.ocx)放在本机的%system%/system32下,然后运行DOS工具里面运行regsvr32 test.ocx命令进行注册。但如果真是这么去做的话,那么代表着你处于危险之中了,因为您

  • Activex打包于发布完整版---ActiveX打包

    前面介绍了数字证书的原理与制作:http://blog.csdn.net/jiangtongcn/article/details/13508365,下面来看一下ActiveX组件的打包。 我现在有一个ActiveX组件:fq.ocx,目的用于采集当前登录的QQ号码,采用vc mfc编写,当然您完全可以用其它技术编写。本ActiveX需要嵌入在网页中运行。 网上的关于打包这方面的东西太多了。这里

  • 复制不能复制的网页文字

    1,网页中嵌入了javascript语言,通过编程手段屏蔽了复制。   只要点击IE的“工具”→“Internet选项”菜单,进入“安全”标签页,选择“自定义级别”,将所有脚本全部禁用,然后按F5键刷新网页,这时你就会发现那些无法选取的文字可以选取了   在采集到了自己需要的内容后,一定要给脚本“解禁”,否则会影响到我们浏览网页。   2,有些网站为了防止别人使用他的内容把它禁掉了,除了上述同志们

  • 毕业设计基于STC12C5A、SIM800C、GPS的汽车防盗报警系统源码.zip

    STC12C5A通过GPS模块获取当前定位信息,如果车辆发生异常震动或车主打来电话(主动请求定位),将通过GSM发送一条定位短信到车主手机,车主点击链接默认打开网页版定位,如果有安装高德地图APP将在APP中打开并展示汽车当前位置 GPS模块可以使用多家的GPS模块,需要注意的是,当前程序对应的是GPS北斗双模芯片,故只解析 GNRMC数据,如果你使用GPS芯片则应改为GPRMC数据即可。 系统在初始化的时候会持续短鸣,每初始化成功一部分后将长鸣一声,如果持续短鸣很久(超过20分钟),建议通过串口助手查看系统输出的调试信息,系统串口默认输出从初始化开始的所有运行状态信息。 不过更建议你使用SIM868模块,集成GPS.GSM.GPRS,使用更加方便

  • 基于tensorflow2.x卷积神经网络字符型验证码识别.zip

    基于tensorflow2.x卷积神经网络字符型验证码识别 卷积神经网络(Convolutional Neural Networks, CNNs 或 ConvNets)是一类深度神经网络,特别擅长处理图像相关的机器学习和深度学习任务。它们的名称来源于网络中使用了一种叫做卷积的数学运算。以下是卷积神经网络的一些关键组件和特性: 卷积层(Convolutional Layer): 卷积层是CNN的核心组件。它们通过一组可学习的滤波器(或称为卷积核、卷积器)在输入图像(或上一层的输出特征图)上滑动来工作。 滤波器和图像之间的卷积操作生成输出特征图,该特征图反映了滤波器所捕捉的局部图像特性(如边缘、角点等)。 通过使用多个滤波器,卷积层可以提取输入图像中的多种特征。 激活函数(Activation Function): 在卷积操作之后,通常会应用一个激活函数(如ReLU、Sigmoid或tanh)来增加网络的非线性。 池化层(Pooling Layer): 池化层通常位于卷积层之后,用于降低特征图的维度(空间尺寸),减少计算量和参数数量,同时保持特征的空间层次结构。 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Pooling)。 全连接层(Fully Connected Layer): 在CNN的末端,通常会有几层全连接层(也称为密集层或线性层)。这些层中的每个神经元都与前一层的所有神经元连接。 全连接层通常用于对提取的特征进行分类或回归。 训练过程: CNN的训练过程与其他深度学习模型类似,通过反向传播算法和梯度下降(或其变种)来优化网络参数(如滤波器权重和偏置)。 训练数据通常被分为多个批次(mini-batches),并在每个批次上迭代更新网络参数。 应用: CNN在计算机视觉领域有着广泛的应用,包括图像分类、目标检测、图像分割、人脸识别等。 它们也已被扩展到处理其他类型的数据,如文本(通过卷积一维序列)和音频(通过卷积时间序列)。 随着深度学习技术的发展,卷积神经网络的结构和设计也在不断演变,出现了许多新的变体和改进,如残差网络(ResNet)、深度卷积生成对抗网络(DCGAN)等。

  • 【三维装箱】遗传和模拟退火算法求解三维装箱优化问题【含Matlab源码 031期】.zip

    【三维装箱】遗传和模拟退火算法求解三维装箱优化问题【含Matlab源码 031期】.zip

  • 自己编写的python 程序计算cpk/ppk

    cpk&ppk python 小程序,品友点评

Global site tag (gtag.js) - Google Analytics