New features in JDK 8 include: introducing Lambda expressions, providing Stream API, enabling client TLS 1.2, supporting AEAD algorithm, higher security, new Modena theme, new packages, etc.
What's new in JDK 8
Java Platform, Standard Edition 8 is a feature-rich major release. This document summarizes the features and enhancements in Java SE 8, JDK 8, and Oracle's implementation of Java SE 8. Click a component name for a more detailed description of the component's enhancements.
Java Programming Language
Lambda expressions are a new language feature that has been introduced in this version. This feature allows you to treat functions as method parameters, or code as data. Using lambda expressions, you can more concisely represent instances of single-method interfaces (called functional interfaces).
Method references provide easy-to-understand lambda expressions for methods that already have names.
The default method allows new functionality to be added to the library's interfaces and ensures binary compatibility with code written for older versions of these interfaces.
Duplicate annotations support multiple applications of the same annotation type to the same statement or type usage.
Type annotations support applying annotations anywhere a type is used, not just declarations. When combined with the pluggable type system, this feature improves type checking of your code.
Improved type inference.
Method parameter reflection.
Collection
The new java.util.stream class in the package provides a Stream API that supports Streams of elements perform functional operations. The Stream API is integrated into the Collections API and can perform batch operations on collections, such as sequential or parallel map-reduce transformations.
Performance improvements for HashMap with key conflicts
Compact profile
Includes Java SE A predefined subset of the platform and supports applications that do not require the entire platform to be deployed and run on small devices.
Security
Client TLS 1.2 is enabled by default
New changes to AccessController.doPrivileged Body supports code asserting a subset of its permissions without preventing a full stack traversal to check for additional permissions
Stronger password-based encryption algorithm
-
JSSE server-side support for SSL/TLS Server Name Indication (SNI) extension
Support for AEAD algorithm: The SunJCE provider has been enhanced to support AES/GCM/NoPadding cipher implementations as well as GCM Algorithm parameters. The SunJSSE provider has also been enhanced to support AEAD mode-based cipher suites. See Oracle Provider Documentation, JEP 115.
Keystore enhancements, including new domain keystore type java.security.DomainLoadStoreParameter and new command option -importpassword
## for the keytool utility - #SHA-224 Message Digest
- Enhanced support for NSA Suite B encryption
- Better support for high-entropy random numbers Generate
- Added the java.security.cert.PKIXRevocationChecker class for configuring the revocation check of X.509 certificates
- Applicable to Windows 64-bit PKCS11
- New rcache type added to Kerberos 5 replay cache
- Supports Kerberos 5 protocol translation and restricted delegation
- Kerberos 5 weak encryption type is disabled by default
- Unbound SASL for GSS-API/Kerberos 5 mechanism
- SASL Service for Multiple Host Names
- JNI Bridge to Native JGSS on Mac OS X
- SunJSSE Provider Support for stronger temporary DH keys in
- Support for server-side cipher suite preference customization in JSSE
JavaFX
- The new Modena theme has been implemented in this version.
- The new SwingNode class allows developers to embed Swing content into JavaFX applications. See the SwingNode javadoc and Embedding Swing content into JavaFX applications.
- New UI controls include DatePicker and TreeTableView controls.
- javafx.print package provides public classes for the JavaFX Printing API. See the javadoc for more information.
- 3D graphics features now include 3D shapes, cameras, lights, subscenes, materials, picking, and anti-aliasing. New Shape3D (Box, Cylinder, MeshView and Sphere subclasses), SubScene, Material, PickResult, LightBase (AmbientLight and PointLight subclasses) and SceneAntialiasing API classes have been added to the JavaFX 3D graphics library. The Camera API class has also been updated in this release. See the related javadoc for the javafx.scene.shape.Shape3D, javafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResult, and javafx.scene.SceneAntialiasing classes as well as the JavaFX 3D Graphics Getting Started documentation.
The WebView class contains new features and improvements. For more information about other HTML5 features, including web sockets, web workers, and web fonts, see HTML5 Supported Features.
Enhanced text support, including bidirectional text, complex text scripts (such as Thai and Hindi controls), and multi-line, multi-style text in text nodes.
This version adds support for Hi-DPI display.
CSS Styleable* classes have become public API. For more information, see the Javafx.css javadoc.
The new ScheduledService class allows automatic restart of services.
JavaFX is now available for the ARM platform. The JDK for ARM includes the base, graphics, and control components of JavaFX.
Tools
The Nashorn engine can be called through the jjs command.
java command is used to start JavaFX applications.
Rewritten the java man page.
Class files can be analyzed through the jdeps command line tool.
Java Management Extensions (JMX) supports remote access to diagnostic commands.
The jarsigner tool provides an option to request a signed timestamp from a Timestamp Authority (TSA).
Javac Tool
#The -parameters option of the javac command can be used to store formal parameter names and enable the reflection API to Retrieve formal parameter names.
The javac command now correctly implements the type rules for equality operators in Java Language Specification (JLS) section 15.21.
Thejavac tool now supports checking the content of javadoc comments, thus avoiding various problems in the files generated when running javadoc, such as invalid HTML or accessibility issues. This feature can be enabled via a new Xdoclint option. See the output when running "javac -X" for more details. This feature is also available in the javadoc tool and is enabled by default.
javac tool now supports generating native headers on demand. This eliminates the need to run the javah tool separately in the build pipeline. This feature can be enabled in javac using the new -h option, which specifies the directory to which header files are written. A header file will be generated for annotated constant fields for any class that has a native method or uses a new annotation of type java.lang.annotation.Native .
Javadoc Tool
The javadoc tool supports the new DocTree API, allowing you to treat Javadoc comments as abstract syntax trees to traverse.
The javadoc tool supports the new Javadoc Access API, which allows you to call Javadoc tools directly from your Java application without executing a new process. For more information, see the javadoc new features page.
The javadoc tool now supports checking the content of javadoc comments, thus avoiding various problems in the files generated when running javadoc, such as invalid HTML or accessibility issues. This feature is enabled by default and can be controlled with the new -Xdoclint option. See the output when running "javadoc -X" for more details. The javac tool also supports this feature, but it is not enabled by default.
Internationalization
Unicode enhancements, including support for Unicode 6.2.0
Using Unicode CLDR data and java.locale.providers system properties
New calendar and locale API
Support Custom resource bundles are installed as extensions
Deployment
- ##It is now possible to use URLPermission to allow sandbox applets and Java Web Start apps connect back to the server that started them. SocketPermission is no longer granted.
- The Permissions attribute is required in the JAR file manifest of the main JAR file at all security levels.
Date-Time Package
A set of new packages that provide a comprehensive date-time model.Scripting
The Rhino Javascript engine has been replaced by the Nashorn JavaScript enginePack200
- Pack200 supports constant pool entries and new bytecode introduced by JSR 292
- JDK8 supports class file changes specified by JSR-292, JSR-308 and JSR-335
IO and NIO
- New Solaris-oriented SelectorProvider implementation based on the Solaris event port mechanism. To use it, set the value of the system property java.nio.channels.spi.Selector to sun.nio.ch.EventPortSelectorProvider.
- Reduce the size of the
/jre/lib/charsets.jar file Improved the performance of java.lang.String(byte[], *) constructor and java.lang.String.getBytes() method.
java.lang and java.util packages
Parallel array sorting
Standard encoding and decoding Base64
Unsigned arithmetic support
JDBC
Removed JDBC-ODBC Bridge.
JDBC 4.2 introduces new features.
Java DB
JDK 8 includes Java DB 10.10.
Network
The java.net.URLPermission class has been added.
In the java.net.HttpURLConnection class, if a security manager is installed, the call requesting to open the connection requires permissions.
Concurrency
Some new classes and interfaces have been added to the java.util.concurrent package.
Some new methods have been added to the java.util.concurrent.ConcurrentHashMap class to support aggregation operations based on new stream tools and lambda expressions.
The java.util.concurrent.atomic package has added new classes to support extensible and updatable variables.
Some new methods have been added to the java.util.concurrent.ForkJoinPool class to support universal pools.
The new java.util.concurrent.locks.StampedLock class provides a capability-based lock that can control read/write access through three modes.
Java XML - JAXP
HotSpot
New Hardware intrinsics to use Advanced Encryption Standard (AES). The UseAES and UseAESIntrinsics flags enable hardware-based AES intrinsics for Intel hardware. Hardware must be 2010 or newer Westmere hardware. For example, to enable hardware AES, use the following flags:
-XX: UseAES -XX: UseAESIntrinsics
To disable hardware AES, please use the following flags:
-XX:-UseAES -XX:-UseAESIntrinsics
Removed PermGen.
The bytecode instructions called by the method support the default methods in the Java programming language.
Java Mission Control 5.3 Release Notes
JDK 8 includes Java Mission Control 5.3.
The above is the detailed content of What are the new features of jdk8. For more information, please follow other related articles on the PHP Chinese website!

PHP8.3发布:新特性一览随着技术的不断发展和需求的不断变化,编程语言也在不断更新和改进。作为一种广泛应用于网络开发的脚本语言,PHP一直在不断进步,为开发者提供更强大和高效的工具。最近发布的PHP8.3版本带来了许多期待已久的新特性和改进,下面让我们来看一下这些新特性的一览。非空属性的初始化在过去的PHP版本中,如果一个类的属性没有被明确赋值,它的值

深入解析PHP8的新特性,助您掌握最新技术随着时间的推移,PHP编程语言一直在不断演进和改进。最近发布的PHP8版本为开发者提供了许多令人兴奋的新特性和改进,为我们的开发工作带来了更多便利和效率。在本文中,我们将深入解析PHP8的新特性,并提供具体的代码示例,旨在帮助您更好地掌握这些最新的技术。JIT编译器PHP8引入了JIT(Just-In-Time)编

PHP8.1引入的新的Redis扩展随着互联网的快速发展,大量的数据需要进行存储和处理。为了提高数据处理的效率和性能,缓存成为了一个不可或缺的部分。而在PHP开发中,Redis作为一种高性能的键值对存储系统,被广泛应用于缓存和数据存储的场景。为了进一步提升Redis在PHP中的使用体验,PHP8.1引入了新的Redis扩展,本文将介绍这一扩展的新增功能,并给

CSS3的新特性一览:如何使用CSS3实现过渡效果CSS3作为CSS的最新版本,在众多新特性中,最有趣和实用的应该是过渡效果(transition)。过渡效果可以让我们的页面在交互时更加平滑、漂亮,给用户带来良好的视觉体验。本文将介绍CSS3过渡效果的基本用法,并附带相应的代码示例。transition-property属性:指定需要过渡的CSS属性过渡效果

php8新特性有JIT 编译器、类型推导、命名参数、联合类型、属性、错误处理改进、异步编程支持、新的标准库函数和匿名类的扩展等。详细介绍:1、JIT编译器,PHP8引入了JIT编译器,这是一个重要的性能改进,JIT编译器可以对一些高频执行的代码进行实时编译和优化,从而提高运行速度;2、类型推导,PHP8引入了类型推导功能,允许开发者在声明变量时自动推导出变量的类型等等。

jdk8新特性:1、Lambda表达式;2、Stream API;3、函数式接口;4、默认方法;5、方法引用;6、新的日期和时间API;7、并发增强;8、其他改进等等。

go语言的新特性有:1、Go模块,用于管理Go语言项目的依赖关系;2、错误处理,增加了一个新的错误类型error,使得错误处理更加灵活和简洁;3、上下文包,用于在goroutine之间传递请求范围的值;4、嵌入,即一个结构体可以嵌入到另一个结构体中;5、同步包,更好地控制goroutine之间的同步和通信;6、错误值,更好地区分不同类型的错误;7、泛型,让开发者编写更灵活。

CSS3的新特性一览:如何使用CSS3实现水平居中布局在网页设计和布局中,水平居中布局是一项常见的需求。过去,我们经常使用复杂的JavaScript或CSS技巧实现此目的。然而,CSS3引入了一些新的特性,使得水平居中布局更加简单和灵活。本文将介绍一些CSS3的新特性,并提供一些代码示例,演示如何使用CSS3实现水平居中布局。一、使用flexbox布局fle


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Zend Studio 13.0.1
Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version
Recommended: Win version, supports code prompts!
