[Switch] JDK1.0 versions of new features to 12

Description link

JDK Version 1.0

1996-01-23 Oak (oak)

The first generation version, a great milestone, but it is pure interpretation runs, using plug-in JIT, the performance is poor running slow.
JDK Version 1.1

1997-02-19
the JDBC (the Java the DataBase Connectivity);
supports internal class;
the RMI (the Remote Method, the Invocation);
reflector;
the Java Bean;

JDK Version 1.2

1998-12-08 Playground (playground)

Frame set;
the JIT (the Just the In Time) compiler;
on packed digitally signed Java files;
the JFC (Java Foundation the Classes), comprising Swing 1.0, Java2D and drag library;
Java plug-in;
the introduction JDBC scrollable result sets, BLOB, CLOB, batch updates, and user-defined types;
Applet add sound support.

JDK Version 1.3

2000-05-08 Kestrel(红隼)

Sound API Java;
JAR file indexing;
all aspects of Java have done a lot of optimization and enhancement;

JDK Version 1.4

2004-02-06 Merlin (Falcon)

XML processing;
the Java printing services;
Logging API;
the Java Web Start;
JDBC 3.0 API;
assert;
the Preferences API;
chained exception handling;
support IPV6;
support for regular expressions;
introducing Imgae I / O API.

JAVA 5

2004-09-30 Tiger (Tiger)

Generic;
enhance the cycle, may be used iteratively;
Automatic boxing and unboxing automatic;
type-safe enumeration;
variable parameter;
static introduced;
metadata (annotations);
the Instrumentation;

JAVA 6

2006-12-11 Mustang (Mustang)

Support for scripting languages;
JDBC 4.0API;
the Java Compiler API;
pluggable annotations;
increased Native PKI (Public Key Infrastructure), Java GSS (Generic Security Service), Kerberos and LDAP (Lightweight Directory Access Protocol) support;
inheritance Web Services;

JAVA 7

2011-07-28 Dolphin (Dolphin)

switch statement allows a string block as a branch condition;
Application of a generic type inference when creating an object;
capturing a plurality of exception statement blocks;
support dynamic languages;
support try-with-resources (capture multiple statements in a block abnormal) species;
the introduction of Java NIO.2 development kits;
value types can be binary string representation, and you can underline the string representation;
diamond-type syntax (application type inference when you create generic objects);
null worth the automatic processing ;

JAVA 8

2014-03-18

Lambda expressions - Lambda allowed to function as an argument of a method (function as a parameter passed into the process.

Method Reference - reference method provides a very useful syntax can refer directly to an existing Java class or object (instance) method or constructor. In combination with lambda, method reference can be made more compact and simple construction of the language, to reduce redundant code.

The default method - a method with a default method is implemented in the interface inside.

New tools - new compiler tools, such as: Nashorn engine JJS, class dependent parser jdeps.

Stream API - the newly added Stream API (java.util.stream) the real functional programming style introduced to Java.

Date Time API - to strengthen the handling of date and time.

Optional class - Optional class has become part of Java 8 class libraries, used to solve a null pointer exception.

Nashorn, JavaScript engine - Java 8 provides a new Nashorn javascript engine, which allows us to run on the JVM specific javascript applications.

JAVA 9

2017-09-22

Modular system: the module is a package of container, one of the nine biggest change is the introduction of the Java Module System (Jigsaw project).
REPL (JShell): an interactive programming environment.
HTTP 2 client: HTTP / 2 standard is the latest version of the HTTP protocol, the new HTTPClient API WebSocket support and HTTP2 flow characteristics as well as server push.
Improved Javadoc: Javadoc now supports search in the API documentation. In addition, Javadoc output is now in line with standards-compliant HTML5.
Multi-version compatible with the JAR: JAR multi-version compatibility feature allows you to create a select class version with only the runtime version of the Java program in a specific environment.
Collection of factory methods: List, Set, and Map interfaces, the new static factory method can create these immutable instance of the collection.
Private Interface: Use private private methods in the interface. We can use the private access modifier private writing method in the interface.
Process API: API to improve the control and management of operating system processes. Info introduce java.lang.ProcessHandle and nested interfaces to allow developers to escape from time to time because a local process to obtain the PID of the dilemma and had to use native code.
Improved Stream API: improved Stream API adds some convenient way to make it easier for stream processing, and use the collector to write complex queries.
Improve the try-with-resources: If you already have a resource is final or equivalent to the final variable, you can use the variable in the try-with-resources statement, without having to declare a new variable in the try-with-resources statement .
Improved deprecation notes @Deprecated: Notes Java API can be labeled @Deprecated state can be expressed labeled API will be removed, or has been destroyed.
Improved Diamond operator (Diamond Operator): anonymous class can use the diamond operator (Diamond Operator).
Improved Optional class: java.util.Optional add a lot of new and useful method, Optional can be directly converted stream.
Multi-resolution image API: the definition of multi-resolution image API, developers can easily operate and display the image at different resolutions.
Improved CompletableFuture API: asynchronous mechanism CompletableFuture class may perform operations when ProcessHandle.onExit method exits.
Lightweight JSON API: built a lightweight JSON API
responsive flow (Reactive Streams) API: Java 9 introduces a new type of response stream API to support Java 9 of reactive programming.

JAVA 10

2018-03-21

According to public information official website, there are 12 important features, as follows:

JEP286, var local variable type inference.
JEP296, the number of the original code with Mercurial JDK warehouse management, into a single repository, simplifying development and management process.
JEP304, unified garbage collector interface.
JEP307, G1 garbage collector parallel full garbage collection, achieve parallelism to improve the worst-case delay.
JEP310, application class data (AppCDS) share, to reduce the memory footprint by sharing a common class of metadata across processes, and reduce start-up time.
JEP312, ThreadLocal handshake interaction. Without entering into the global JVM security point (Safepoint), the callback thread. Optimization can be stopped only a single thread, rather than stopping all or a thread are kept.
JEP313, remove javah tool included with the JDK. You can use javac -h instead.
JEP314, the use of additional Unicode language markup extension.
JEP317, heap memory usage can be assigned to a user-specified spare memory device.
JEP317, Graal using Java-based compiler, the Java code may be pre-compiled to native code to improve performance.
JEP318, providing a default set of root certification authority certificate in the OpenJDK. Java SE open source root certificates currently provided by Oracle, so OpenJDK developers more convenient to use.
JEP322, release version is based on the defined time, ie release cycle mentioned above. The version number is $ FEATURE. $ INTERIM. $ UPDATE . $ PATCH, sub j notably large version, the middle version, version upgrades and patches.

JAVA 11

2018-09-25

New features have translated:

181: Nest-Based Access Control
309: dynamic class file constant
315: improved Aarch64 intrinsics
318: None of the garbage collector
320: Elimination Java EE and CORBA module
321: HTTP Client (standard)
323: Syntax λ parameter local variables
324 : Curve25519 and Curve448 key agreement
327: the Unicode 10
328: flight recorder
329: ChaCha20 and Poly1305 encryption algorithm
330: transmitting a column of the source code program
331: low cost heap analysis
332: transport layer security (transport layer security, TLS) 1.3
333: action: a scalable low latency garbage collector (experimental)
335: against Nashorn JavaScript engine
336: opposition Pack200 tools and API

JAVA 12

2018-09-25

New features have translated:
189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental): Added a garbage collector called Shenandoah, which were evacuated (evacuation) work by simultaneously running Java threads to reduce pause time.
230: Microbenchmark Suite: a new micro-benchmarks, so that developers can be based on the performance of the existing Java Microbenchmark Harness (JMH) easily test the JDK, and create a new benchmark.
325: Switch Expressions (Preview): to switch statement be extended so that it can be used as statements or expressions, simplify daily code.
334: JVM Constants API: API to the introduction of a class file key (key class-file) the name and description of the workpiece (nominal descriptions) running modeling, particularly those that can be loaded from the constant pool constant.
340: One AArch64 Port, Not Two : Remove all source port associated with arm64, and reserved 32-bit 64-bit ARM port aarch64 transplantation.
341: Default CDS Archives: default generated class data sharing (CDS) archive. 344: Abortable Mixed Collections for G1: G1 garbage collector when the recovery is more than pause target, garbage collection process can be aborted .346: Promptly Return Unused Committed Memory from G1: G1 improved garbage collector to automatically Java heap when idle memory returned to the operating system.

Guess you like

Origin www.cnblogs.com/biaogejiushibiao/p/11427382.html