2019年/11月/11日

首页回退

Java 1 to 12

这是java从1.0到12的主要特性变化,了解一下,不要落伍

JDK Version 1.0 1996年

JDK Version 1.1 1997年

AWT event model
JDBC (Java Database Connectivity)
Inner Classes
Java Beans
RMI (Remote Method Invocation)
Reflection (introspection only)
JIT (Just In Time) compiler for Windows

J2SE Version 1.2 1998年

Collections framework.
Java String memory map for constants.
Just In Time (JIT) compiler.
Jar Signer for signing Java ARchive (JAR) files.
Policy Tool for granting access to system resources.
Java Foundation Classes (JFC) which consists of Swing 1.0, Drag and Drop, and Java 2D class libraries.
Java Plug-in
Scrollable result sets, BLOB, CLOB, batch update, user-defined types in JDBC.
Audio support in Applets.
strictfp keyword

J2SE Version 1.3 2000年

Java Sound
Jar Indexing
A huge list of enhancements in almost all the java area.
HotSpot JVM
Java Naming and Directory Interface (JNDI)
Java Platform Debugger Architecture (JPDA)
Synthetic proxy classes

J2SE Version 1.4 2002年

XML Processing
Java Print Service
Logging API
Java Web Start
JDBC 3.0 API
Assertions
Chained Exception
Regular Expressions
Image I/O API
assert keyword
Exception chaining
Internet Protocol version 6 (IPv6) support
New I/O; NIO
Logging API
Integrated XML parser and XSLT processor (JAXP)
Integrated security and cryptography extensions (JCE, JSSE, JAAS)
Java Web Start
Preferences API (java.util.prefs)

J2SE Version 5.0 2004年

Generics
Autoboxing/Unboxing
Typesafe Enums
Varargs
Metadata (Annotations)
Instrumentation
Annotations
Enumerations
Enhanced for each loop
Static imports
New concurrency utilities in java.util.concurrent
Scanner class for parsing data from various input streams and buffers.

Java Version SE 6 2006年

Scripting Language Support
JDBC 4.0 API
Java Compiler API
Native PKI, Java GSS, Kerberos and LDAP support.
Integrated Web Services.
Lot more enhancements.
Performance improvements
JAX-WS
JAXB 2.0 and StAX parser
Pluggable annotations
New GC algorithms

Java Version SE 7 2011年

Strings in switch Statement
Type Inference for Generic Instance Creation
Multiple Exception Handling
Java nio Package
Binary Literals, underscore in literals
Diamond Syntax
Automatic null Handling
JVM support for dynamic languages
Compressed 64-bit pointers
Automatic resource management in try-statement
Simplified varargs method declaration
ForkJoin Framework
NIO 2.0 having support for multiple file systems, file metadata and symbolic links
WatchService
Timsort is used to sort collections and arrays of objects instead of merge sort
APIs for the graphics features
Support for new network protocols, including SCTP and Sockets Direct Protocol

Java SE 8 2014年

Lambda Expressions
Pipelines and Streams
Concurrent Accumulators
Parallel operations
PermGen Error Removed
TLS SNI
Functional interface and default methods
Optionals
Nashorn – JavaScript runtime which allows developers to embed JavaScript code within applications
Annotation on Java Types
Unsigned Integer Arithmetic
Repeating annotations
New Date and Time API
Statically-linked JNI libraries
Launch JavaFX applications from jar files

Java SE 9 2017年

Java platform module system
Interface Private Methods
HTTP 2 Client
JShell – REPL Tool
Platform and JVM Logging
Process API Updates
Collection API Updates
Improvements in Stream API
Multi-Release JAR Files
@Deprecated Tag Changes
Stack Walking
Java Docs Updates
Miscellaneous Other Features

Java SE 10 2018年

JEP 286: Local Variable Type Inference
JEP 322: Time-Based Release Versioning
JEP 304: Garbage-Collector Interface
JEP 307: Parallel Full GC for G1
JEP 316: Heap Allocation on Alternative Memory Devices
JEP 296: Consolidate the JDK Forest into a Single Repository
JEP 310: Application Class-Data Sharing
JEP 314: Additional Unicode Language-Tag Extensions
JEP 319: Root Certificates
JEP 317: Experimental Java-Based JIT Compiler
JEP 312: Thread-Local Handshakes
JEP 313: Remove the Native-Header Generation Tool
New Added APIs and Options
Removed APIs and Options

Java SE 11 2018年

HTTP Client API
Launch Single-File Programs Without Compilation
String API Changes
Collection.toArray(IntFunction)
Files.readString() and Files.writeString()
Optional.isEmpty()

Java SE 12 2019年

Collectors.teeing() in Stream API
String API Changes
Files.mismatch(Path, Path)
Compact Number Formatting
Support for Unicode 11
Switch Expressions (Preview)

Java SE 13 2019年

Dynamic CDS Archives
ZGC: Uncommit Unused Memory
Reimplement the Legacy Socket API
Switch Expressions
Text Blocks

参考 1

参考 2