Java Se Development Kit是一款十分好用的编程开发软件工具,这款工具现在有非常多的人在使用。工具改进的关键点是本地类型推断、垃圾回收的“干净”接口,它具有非常丰富的功能,是甲骨文oracle公司最新发布的jdk,java开发用户一定要看过来哦,需要就马上下载吧。
软件功能
1、gc改进和内存管理
jdk 10中有2个jep专门用于改进当前的垃圾收集元素;
第一个垃圾收集器接口是(jep 304),它将引入一个纯净的垃圾收集器接口,以帮助改进不同垃圾收集器的源代码隔离;
预定用于java 10的第二个jep是针对g1的并行完全gc(jep 307),其重点在于通过完全gc并行来改善g1最坏情况的等待时间。g1是java 9中的默认gc,并且此jep的目标是使g1平行。
2、线程本地握手(jep 312)
jdk 10将引入一种在线程上执行回调的新方法,因此这将会很方便能停止单个线程而不是停止全部线程或者一个都不停。
3、备用内存设备上的堆分配(jep 316)
允许hotspot vm在备用内存设备上分配java对象堆内存,该内存设备将由用户指定。
4、基于java的实验性jit编译器
oracle希望将其java jit编译器graal用作linux / x64平台上的实验性jit编译器。
5、其他unicode语言 – 标记扩展(jep 314)
目标是增强java.util.locale及其相关的api,以便实现语言标记语法的其他unicode扩展(bcp 47)。
6、根证书颁发认证(ca)
这将使openjdk对开发人员更具吸引力,它还旨在减少openjdk和oracle jdk构建之间的差异。
7、根证书(jep 319)
这个的目标是在oracle的java se中开源根证书。
8、删除工具javah(jep 313)
从jdk中移除了javah工具,这个很简单并且很重要。
9、将jdk生态整合单个存储库(jep 296)
此jep的主要目标是执行一些内存管理,并将jdk生态的众多存储库组合到一个存储库中。
软件特色
1、局部变量类型推断
局部变量类型推断可以说是java 10中最值得注意的特性,这是java语言开发人员为了简化java应用程序的编写而采取的又一步;
这个新功能将为java增加一些语法糖-简化它并改善开发者体验。新的语法将减少与编写java相关的冗长度,同时保持对静态类型安全性的承诺;
局部变量类型推断将引入”var”关键字,也就是你可以随意定义变量而不必指定变量的类型。
2、核心库/ java.util中
optional.orelsethrow()方法;
一个新的方法orelsethrow已被添加到optional课堂上。它是现有get方法的同义词,并且是现在的首选方法。
3、核心库/ java.util中:收藏
用于创建不可修改集合的api。已经添加了几个新的api,以促进创建不可修改的集合。该list.copyof,set.copyof和map.copyof方法从现有实例中创建新的集合实例;
新的方法tounmodifiablelist,tounmodifiableset以及tounmodifiablemap已被添加到collectors在流包类。这些允许流的元素被收集到一个不可修改的集合中。
3、芯-svc / java.lang.management
系统属性以禁用jre上次使用情况跟踪。引入了新的系统属性jdk.disablelastusagetracking来禁用正在运行的vm的jre上次使用情况跟踪;
该属性可以在命令行通过使用被设置 -djdk.disablelastusagetracking=true或-djdk.disablelastusagetracking;
使用此系统属性集,无论设置的com.oracle.usagetracker.track.last.usage属性值如何,jre上次使用情况跟踪都将被禁用usagetracker.properties。
4、芯-svc / javax.management
为开箱即用的jmx代理散列密码,jmxremote.passwordjmx代理现在正在使用sha3-512散列覆盖文件中的明文密码。
5、工具/ javadoc的(工具)
javadoc支持多种样式表;
一个新的javadoc命令行选项--add-stylesheet已被添加到javadoc工具中。新--add-stylesheet选项支持在生成的文档中使用多个样式表;
现有的-stylesheetfile选项现在有一个别名,--main-stylesheet以帮助区分主样式表和其他样式表。有关更多详细信息,请参阅javadoc工具的“工具参考”文档。
软件亮点
局部变量类型推荐仅限于如下使用场景
1、局部变量初始化;
2、for循环内部索引变量;
3、传统的for循环声明变量。
java官方表示,它不能用于以下几个地方
1、方法参数;
2、字段;
3、构造函数参数;
4、方法返回类型;
5、捕获表达式,或任何其他类型的变量声明。