JAVA技术
  当前位置:首页 > 技术支持 > JAVA技术
JDK 8中的新功能
发布时间:2017-09-07 浏览:2926次
  

JDK 8中的新功能


Java Platform,Standard Edition 8是一个主要的功能版本。本文档总结了Java SE 8和JDK 8中的Java SE 8的实现的功能和增强功能。单击组件名称以获取该组件的增强功能的更详细描述。

  • Java编程语言

    • 这个版本中引入了Lambda表达式,一种新的语言特性。它们使您能够将功能视为方法参数或代码作为数据。Lambda表达式可以更紧凑地表示单方法接口(简称功能接口)的实例。

    • 方法引用为已经有名称的方法提供了易于阅读的lambda表达式。

    • 默认方法允许将新功能添加到库的接口,并确保与旧版本的这些接口编写的代码的二进制兼容性。

    • 重复注释提供了将相同的注释类型多次应用于相同的声明或类型使用的能力。

    • 类型注释提供了在使用类型的任何位置应用注释的功能,而不仅仅是声明。与可插拔型系统一起使用,此功能可以改进代码的类型检查。

    • 改进型推理。

    • 方法参数反映。

  • 集合

    • java.util.stream中的类提供了一个Stream API,以支持元素流上的功能样式操作。Stream API集成到Collections API中,它可以对集合进行批量操作,例如顺序或并行映射减少转换。

    • 具有重大冲突的哈希图的性能改进

  • 紧凑型配置文件包含Java SE平台的预定义子集,并允许不需要整个平台的应用程序在小型设备上部署和运行。

  • 安全

    • 客户端TLS 1.2默认启用

    • 新的变体AccessController.doPrivileged使代码能够断言其特权的一个子集,而不会阻止堆栈的完整遍历来检查其他权限

    • 更强大的基于密码加密的算法

    • JSSE服务器中的SSL / TLS服务器名称指示(SNI)扩展支持

    • 支持AEAD算法:增强了SunJCE提供程序,以支持AES / GCM / NoPadding加密实现以及GCM算法参数。并且SunJSSE提供商被增强以支持基于AEAD模式的密码套件。请参阅Oracle提供商文档JEP 115。

    • KeyStore增强功能,包括新的Domain KeyStore类型java.security.DomainLoadStoreParameter,以及-importpasswordkeytool实用程序的新命令选项

    • SHA-224消息摘要

    • 增强对NSA Suite B加密技术的支持

    • 更好地支持高熵随机数生成

    • java.security.cert.PKIXRevocationChecker用于配置X.509证书的撤销检查的

    • 适用于Windows的64位PKCS11

    • Kerberos中的新的rcache类型5重播缓存

    • 支持Kerberos 5协议转换和约束授权

    • 默认情况下禁用Kerberos 5弱加密类型

    • 为GSS-API / Kerberos 5机制取消绑定SASL

    • SASL服务用于多个主机名

    • JNI桥接于Mac OS X上的本机JGSS

    • 支持SunJSSE提供商更强大的短暂DH密钥

    • 在JSSE中支持服务器端密码套件偏好定制

  • JavaFX的

    • 新的摩德纳主题已在本版本中实施。有关更多信息,请参阅fxexperience.com上的博客

    • SwingNode类使开发人员可以将Swing内容嵌入到JavaFX应用程序中。请参阅JavaFX应用程序中SwingNodejavadoc和Embedding Swing内容

    • 新的UI控件包括DatePickerTreeTableView控件。

    • javafx.print包为JavaFX Printing API提供了公共类。有关详细信息,请参阅javadoc

    • 3D图形功能现在包括3D形状,相机,灯光,素材,材质,采摘和抗锯齿。新的Shape3DBoxCylinderMeshView,和Sphere子类), ,SubSceneMaterialPickResult 子类),以及API类已添加到JavaFX的3D图形库。API类也已在此版本更新。请参见相应的类Javadoc ,和入门JavaFX的3D图形文件。LightBaseAmbientLightPointLightSceneAntialiasingCamerajavafx.scene.shape.Shape3Djavafx.scene.SubScenejavafx.scene.paint.Materialjavafx.scene.input.PickResultjavafx.scene.SceneAntialiasing

    • WebView课程提供了新的功能和改进。查看HTML5的支持功能,了解有关其他HTML5功能的更多信息,包括Web套接字,Web Workers和Web字体。

    • 增强的文本支持,包括双向文本和复杂文本脚本,如控件中的泰语和印地语,以及文本节点中的多行多文本文本。

    • 此版本中添加了Hi-DPI显示器的支持。

    • CSS Styleable *类成为公共API。有关javafx.css详细信息,请参阅javadoc。

    • ScheduledService类允许自动重新启动服务。

    • JavaFX现在可用于ARM平台。JDK for ARM包括JavaFX的基础,图形和控件组件。

  • 工具

    • jjs命令用于调用Nashorn引擎。

    • java命令启动JavaFX应用程序。

    • java手册页已重新加工。

    • 提供jdeps命令行工具用于分析类文件。

    • Java管理扩展(JMX)提供对诊断命令的远程访问。

    • jarsigner工具具有从时间戳局(TSA)请求签名的时间戳的选项。

    • Javac工具

      • 命令-parameters选项javac可用于存储形式参数名称,并启用Reflection API以检索形式参数名称。

      • Java语言规范(JLS)第15.21节中的等效运算符的类型规则现在由javac命令正确执行

      • javac工具现在支持检查javadoc可能导致javadoc运行时生成的文件中的各种问题(如无效的HTML或辅助功能问题)的问题的内容该功能由新-Xdoclint选项启用有关详细信息,请参阅运行“ javac -X” 的输出此功能也可在该javadoc工具中使用,并在默认情况下启用。

      • javac工具现在可以根据需要提供生成本机头文件的功能。这不需要javah在构建管道中作为单独的步骤运行该工具。javac通过使用新-h选项启用该功能,该选项用于指定要在其中写入头文件的目录。将为任何具有原生方法的类或者使用新的注释类型注释的常量字段生成头文件java.lang.annotation.Native

    • Javadoc工具

      • javadoc工具支持新的DocTreeAPI,使您可以将Javadoc注释作为抽象语法树遍历。

      • javadoc工具支持新的Javadoc Access API,使您可以直接从Java应用程序调用Javadoc工具,而无需执行新的进程。有关更多信息,请参阅javadoc的新页面。

      • javadoc工具现在支持检查javadoc可能导致javadoc运行时生成的文件中的各种问题(如无效的HTML或辅助功能问题)的问题的内容默认情况下启用该功能,也可以通过新-Xdoclint选项进行控制有关详细信息,请参阅运行“ javadoc -X” 的输出该功能也可在该javac工具中使用,但默认情况下不启用该功能

  • 国际化

    • Unicode增强功能,包括支持Unicode 6.2.0

    • 采用Unicode CLDR数据和java.locale.providers系统属性

    • 新日历和区域设置API

    • 将自定义资源包安装为扩展的能力

  • 部署

    • 对于沙盒小程序和Java Web Start应用程序,URLPermission现在用于允许连接返回到启动它们的服务器。SocketPermission不再授予

    • 在所有安全级别的主JAR文件的JAR文件清单中,Permissions属性是必需的。

  • 日期时间包 - 提供全面的日期时间模型的新套件。

  • 脚本

    • 犀牛JavaScript引擎已被Nashorn Javascript引擎所取代

  • Pack200

    • Pack200支持JSR 292引入的常量池条目和新字节码

    • JDK8支持由JSR-292,JSR-308和JSR-335指定的类文件更改

  • IO和NIO

    • SelectorProvider基于Solaris事件端口机制的Solaris的实现。要使用,请将系统属性java.nio.channels.spi.Selector设置为值sun.nio.ch.EventPortSelectorProvider

    • 减小<JDK_HOME>/jre/lib/charsets.jar文件的大小

    • java.lang.String(byte[], *)构造函数和java.lang.String.getBytes()方法的性能改进

  • java.lang和java.util包

    • 并行数组排序

    • Base64的标准编码和解码

    • 无符号算术支持

  • JDBC

    • JDBC-ODBC Bridge已被删除。

    • JDBC 4.2引入了新功能。

  • Java DB

    • JDK 8包括Java DB 10.10。

  • 联网

    • 该课程java.net.URLPermission已经添加。

    • 在类中java.net.HttpURLConnection,如果安装了安全管理器,则请求打开连接的调用需要许可。

  • 并发

    • 类和接口已添加到java.util.concurrent包中。

    • 方法已经添加到java.util.concurrent.ConcurrentHashMap类中,以支持基于新添加的流设施和lambda表达式的聚合操作。

    • 已将类添加到java.util.concurrent.atomic包中以支持可扩展的可更新变量。

    • 方法已经添加到java.util.concurrent.ForkJoinPool类中以支持公共池。

    • java.util.concurrent.locks.StampedLock班已添加到提供基于能力的锁有三种模式控制读/写访问。

  • Java XML - JAXP

  • 热点

    • 添加硬件内在功能以使用高级加密标准(AES)。这些UseAESUseAESIntrinsics标志可用于为Intel硬件启用基于硬件的AES内在函数。硬件必须是2010年或更早的Westmere硬件。例如,要启用硬件AES,请使用以下标志:

      -XX:+ UseAES -XX:+ UseAESIntrinsics

      要禁用硬件AES,请使用以下标志:

      -XX:-UseAES -XX:-UseAESIntrinsics
    • 去除PermGen。

    • Java编程语言中的默认方法由方法调用的字节码指令支持。

  • Java任务控制5.3发行说明

    • JDK 8包括Java Mission Control 5.3。

 
 
    
 
 
版权所有 © 2005-2024 安徽省艾佳信息技术有限公司 皖ICP备06002923号  皖公网安备 34019202000659号
地址:安徽省合肥市蜀山区望江西路69号西湖国际广场 电话:0551-64935878 邮箱:admin@ajsoft.cn