Java版本之前世今生

一直比較仰慕Java兩位大師(James Gosling 秦忿、Doug Lea)内颗,但是一直沒有沉下心深入研究下Java,最近一段的時間請教很多架構(gòu)師(阿里制轰、騰訊)前计。

我們最容易忘記的就是最基礎(chǔ)的東西,決定執(zhí)筆寫下一些東西艇挨,應(yīng)該算比較全的Java文章残炮,用著蹩腳的英語領(lǐng)略不同的技術(shù)視野。

1.Oak 語言

Oak 語言是James Gosling 博士在1991創(chuàng)建缩滨,最初是為Sun微系統(tǒng)公司的機(jī)頂盒項目創(chuàng)建的势就。


Java technology was created as a programming tool in a small, closed-door project

initiated by Patrick Naughton, Mike Sheridan, and James Gosling of Sun in 1991\. But

creating a new language wasn't even the point of "the Green Project."

微信公眾號:小豬的互聯(lián)網(wǎng)江湖

2.JDK Beta

1995年泉瞻,Oak被命名為Java,因為它已經(jīng)是Oak Technologies的商標(biāo)了

第一個Beta版本是發(fā)布在1995.5.23 苞冯,提出了"Write Once,Run Anywhere"愿景

第一個公開版本 8個包文件袖牙,212的類文件 。

3.JDK 1.0

版本發(fā)布時間:第一個版本發(fā)布在1996.1.23

第一穩(wěn)定版本是JDK1.0.2舅锄,定義為Java1

JDK 1.0提供了一個純解釋執(zhí)行的Java虛擬機(jī)(Sun Classic VM)鞭达。

代表技術(shù):Java虛擬機(jī) 、Applet皇忿、AWT

4.JDK 1.1

版本發(fā)布時間:1997.02.19

JDK 1.1下載頁面:

核心包


package java.applet
package java.awt
package java.awt.datatransfer
package java.awt.event
package java.awt.image
package java.beans
package java.io
package java.lang
package java.lang.reflect
package java.math
package java.net
package java.rmi
package java.rmi.dgc
package java.rmi.registry
package java.rmi.server
package java.security
package java.security.acl
package java.security.interfaces
package java.sql
package java.text
package java.util
package java.util.zip

新特性:

  • Internationalization(國際化)

  • Security and Signed Applets(安全相關(guān))

  • AWT Enhancements(AWT增強(qiáng)功能)

  • JavaBeans

  • JAR File Format(JAR文件)

  • Networking Enhancements(網(wǎng)絡(luò)增強(qiáng)功能)

  • IO Enhancements(IO功能增強(qiáng))

  • Math Package(Math函數(shù)包)

  • Remote Method Invocation(RMI遠(yuǎn)程調(diào)用)

  • Object Serialization(序列化)

  • Reflection(反射)

  • JDBC- Connecting Java and Databases(數(shù)據(jù)庫驅(qū)動)

  • Inner Classes(內(nèi)部類)

  • Java Native Interface(JNI擴(kuò)展)

  • Performance Enhancements(性能優(yōu)化)

  • Miscellaneous Features (其他特性)

  • Byte, Short and Void Classes
    新增byte畴蹭,short和void類

代表技術(shù):JAR文件格式、JNI鳍烁、JDBC叨襟、JavaBeans、RMI幔荒、內(nèi)部類糊闽、反射

5.J2SE 1.2 Playground

版本發(fā)布時間:1998.12.08

1998年從1.2開始以后的版本定義為Java2,直到J2SE 1.5版本爹梁,版本名稱為J2SE(Java 2 Platform, Standard Edition)取代了JDK右犹,用來區(qū)分企業(yè)平臺J2EE (Java 2 Platform, Enterprise Edition) and J2ME (Java 2 Platform, Micro Edition),這是Java一個非常重要的版本 姚垃,將Java擴(kuò)展到59個包念链、1520個類。

新特性

Basic Features(基礎(chǔ)特性)

  • strictfp keyword
    新增strictfp 關(guān)鍵字修飾符积糯,用于類钓账、接口或方法

  • Sound

  • Package Version Identification

  • Collections framework(引入集合的特性)

Java Foundation Classes (Java基礎(chǔ)類)

  • Abstract Window Toolkit (AWT)
    第一代的JavaGUI組建

  • Swing Components
    是AWT的非菜單用戶界面控件的抽象基類

  • 2D Graphics and Imaging
    2D繪制組件

  • Input Method Framework

  • Accessibility docs

  • Drag-and-Drop data transfer

Enterprise Features(企業(yè)版本特性)

  • Interface Definition Language (IDL)

  • Java Database Connectivity (JDBCTM)

  • Enterprise JavaBean (EJB)

Tool Support(工具支持)

  • Java Virtual Machine Debugger Interface (JVMDI)

  • Java Virtual Machine Profiler Interface (JVMPI)

  • Sun's JVM was equipped with a JIT compiler for the first time
    第一次使用JIT編譯器

  • Java plug-in

代表技術(shù):EJB、Java Plug-in絮宁、Swing、JIT編譯器服协、Collections集合

6.J2SE 1.3 Kestrel

版本發(fā)布時間:2000.05.08

新特性:

Java 2 Platform

  • Java Naming and Directory Interface (JNDI) included in core libraries (previously available as an extension)
    JNDI是 Java 命名與目錄接口绍昂,JNDI 提供的間接尋址允許跨企業(yè)交付可伸縮的、功能強(qiáng)大且很靈活的應(yīng)用程序

  • Remote Method Invocation (RMI)
    Java遠(yuǎn)程方法調(diào)用偿荷,Java的RPC框架基本都是使用RMI

  • RMI/IIOP 窘游,RMI was modified to support optional compatibility with CORBA(ORB)
    IIOP 是 CORBA 的通信協(xié)議。它定義通過 CORBA 客戶端與服務(wù)器之間的連線發(fā)送位的方式

  • Java IDL compiler, idlj
    Java IDL 編譯器,idlj

  • Input Method Framework
    輸入方法框架跳纳、輸入法框架

  • Collections Framework Enhancements

  • Support for Motif 2.1
    支持 Motif 2.1

  • Synthetic proxy classes

Performance

  • HotSpot JVM
    1999 年 4 月首次發(fā)布 J2SE 1.2 JVM 的 HotSpot JVM

Tool Support

  • Java Platform Debugger Architecture (JPDA)

Tools

  • Tools and Utilities
    代表技術(shù):HotSpot JVM忍饰、JPDA、JNDI寺庄、RMI遠(yuǎn)程方法調(diào)用艾蓝、CORBA

7.J2SE 1.4 Merlin

版本發(fā)布時間:2004.02.06

微信公眾號:小豬的互聯(lián)網(wǎng)江湖

Java 2 Platform

  • Regular expressions modeled after Perl regular expressions(正則表達(dá)式)

  • Exception chaining allows an exception to encapsulate original lower-level exception

  • Internet Protocol version 6 (IPv6) support IPv6協(xié)議的支持

  • Non-blocking I/O (Java) (named NIO) (specified in JSR 51) NIO 同步非阻塞

  • Logging API (specified in JSR 47) 日志

  • New I/O APIs( buffer management, character-set support, regular-expression - - matching, file I/O, and scalable network I/O)
    I/O增強(qiáng)功能: buffer 力崇,正則表達(dá)式,文件I/O赢织,網(wǎng)絡(luò)I/O

  • Image I/O Framework 圖片I/O

  • Integrated XML parser and XSLT processor (JAXP) (specified in JSR 5 and JSR 63) XML解析的支持

  • Integrated security and cryptography extensions (JCE, JSSE, JAAS)

  • Java Web Start included (Java Web Start was first released in March 2001 for J2SE 1.3) (specified in JSR 56)

  • Preferences API (java.util.prefs)

  • Java 2DTM technology

  • Java Print Service

  • Long-term Persistence of JavaBeansTM Components

  • JDBCTM 3.0 API

  • Assertion Facility,assert keyword (specified in JSR 41)

  • Endorsed Standards Override Mechanism

  • performance enhancements in many areas of the platform

  • Serialization 序列化

  • Java Naming and Directory InterfaceTM (JNDI)

  • CORBA, Java IDL, and RMI-IIOP

  • JavaTM Platform Debugger Architecture

  • JavaTM Plug-in Product

  • Collections Framework (RandomAccess亮靴、 LinkedHashMap、IdentityHashMap)

集合新增:(RandomAccess于置、 LinkedHashMap茧吊、IdentityHashMap)

Tools

  • The java application launcher supports command-line options for support of the new Assertions Facility.

  • The javadoc tool

  • The native2ascii tool

  • The idlj tool

  • The orbd tool

  • The servertool(服務(wù)器工具)

  • The rmic compiler (rmic 編譯器)

  • The graphical Policy Tool utility (圖形工具)

代表技術(shù):正則表達(dá)式侦锯、序列化嫡良、NIO、日志類纹冤、XML解析器

8.J2SE 5 Tiger

發(fā)布版本時間:2004.09.30

J2SE 5下載頁面

微信公眾號:小豬的互聯(lián)網(wǎng)江湖

新特性

新的語言特性:

  • Generics: provides compile-time (static) type safety for collections and eliminates the need for most typecasts (type conversion) (specified by JSR 14)

泛型的添加

  • Metadata: also called annotations; allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities (specified by JSR 175)

元數(shù)據(jù)(注解)话速,編程語言定義在class讶踪、method上,元數(shù)據(jù)能進(jìn)行掃描

  • Autoboxing/unboxing: automatic conversions between primitive types (such as int) and primitive wrapper classes (such as Integer) (specified by JSR 201)

自動裝箱與自動拆箱

  • the enum keyword creates a typesafe (specified by JSR 201)

enum類型添加尿孔,有序的值列表俊柔,以前通過常亮或者構(gòu)造器來實現(xiàn)

  • Varargs: the last parameter of a method can now be declared using a type name followed by three dots (e.g. void drawtext(String... lines));

可變參數(shù)的添加 (e.g. void drawtext(String... lines));

  • Enhanced for each loop: the for loop syntax is extended (specified by JSR 201)

遍歷for循環(huán),使用在數(shù)組活合,可迭代對象

  • Improved semantics of execution for multi-threaded Java programs;

改進(jìn)了多線程Java程序的執(zhí)行語義;

  • the new Java memory model addresses issues of complexity, effectiveness, and performance of previous specifications

新的Java內(nèi)存模型解決了以前規(guī)范的復(fù)雜性雏婶、有效性和性能問題

  • Static imports

靜態(tài)導(dǎo)入

標(biāo)準(zhǔn)庫新增功能

  • Automatic stub generation for RMI objects

為RMI對象自動生成存根

  • Swing: New skinnable look and feel, called synth

  • The concurrency utilities in package java.util.concurrent

新增concurrent工具包

  • Scanner class for parsing data from various input streams and buffers

新增Scanner class,用于解析來自各種輸入流和緩沖區(qū)的數(shù)據(jù)

更多新特性

代表技術(shù):泛型白指、可變參數(shù)留晚、元數(shù)據(jù)(注解)、自動裝箱與自動拆箱告嘲、迭代

9.Java SE 6 Mustang

發(fā)布版本時間:2006.12.11

Java SE 6下載頁面

微信公眾號:小豬的互聯(lián)網(wǎng)江湖

新特性

  • Support for older Win9x versions dropped; unofficially, Java 6 Update 7 was the last release of Java shown to work on these versions of Windows.

不再支持較老的Win9x版本;非正式地說错维,Java 6 Update 7是在這些Windows版本上運(yùn)行的最后一個Java版本。

  • Scripting Language Support (JSR 223): Generic API for tight integration with scripting languages, and built-in MozillaJavaScript Rhino integration.

腳本語言支持(JSR 223):集成腳本語言通用的API橄唬,以及內(nèi)置的Mozilla JavaScript Rhino集成赋焕。

  • Dramatic performance improvements for the core platform, and Swing.

核心平臺和Swing的性能有了顯著的改進(jìn)。

  • Improved Web Service support through JAX-WS (JSR 224).

通過JAX-WS (JSR 224)改進(jìn)了Web服務(wù)支持仰楚。

  • JDBC 4.0 support (JSR 221).

JDBC4.0支持

  • Java Compiler API (JSR 199): an API allowing a Java program to select and invoke a Java Compiler programmatically.

Java編譯器API (JSR 199):允許Java程序以編程方式選擇和調(diào)用Java編譯器的API隆判。

  • Upgrade of JAXB to version 2.0: Including integration of a StAX parser.

JAXB升級到2.0版:包括集成StAX解析器。

  • Support for pluggable annotations (JSR 269).

可插拔注解

  • Many GUI improvements, such as integration of SwingWorker in the API, table sorting and filtering, and true Swingdouble-buffering (eliminating the gray-area effect).

許多GUI改進(jìn)僧界,如在API中集成SwingWorker侨嘀、表排序和過濾,以及真正的swingdouble緩沖(消除灰色區(qū)域效應(yīng))捂襟。

  • JVM improvements include: synchronization and compiler performance optimizations, new algorithms and upgrades to existing garbage collection algorithms, and application start-up performance.

JVM優(yōu)化咬腕,同步和編譯器性能優(yōu)化、新算法和對現(xiàn)有垃圾收集算法的升級葬荷,以及應(yīng)用程序啟動性能涨共。

代表技術(shù):可插拔注解

10.Java SE 7 Dolphin

發(fā)布版本時間:2011.07.28

Java SE 7下載頁面

微信公眾號:小豬的互聯(lián)網(wǎng)江湖
  • JVM support for dynamic languages, with the new invokedynamic bytecode under JSR-292,following the prototyping work currently done on the Multi Language Virtual Machine

JVM支持動態(tài)語言纽帖,并在JSR-292下使用新的invokedynamic字節(jié)碼,這是目前在多語言虛擬機(jī)上完成的原型工作的基礎(chǔ)上實現(xiàn)的

  • Compressed 64-bit pointers (available in Java 6 with -XX:+UseCompressedOops)

壓縮64位指針

  • These small language changes (grouped under a project named Coin):

這些小的語言變化(分組在一個名為Coin的項目下):

  • Strings in switch(String 使用在swtich)

  • Automatic resource management in try-statement動態(tài)資源管理使用在try-statement

  • Improved type inference for generic instance creation, aka the diamond operator <> :添加diamond操作符<>

  • Simplified varargs method declaration(簡化的varargs方法聲明)

  • Binary integer literals(二進(jìn)制整數(shù)文字)

  • Allowing underscores in numeric literals(允許在數(shù)字文字下劃線)

  • Catching multiple exception types and rethrowing exceptions with improved type checking(捕獲多個異常類型并使用改進(jìn)的類型檢查重新拋出異常)

  • Concurrency utilities under JSR 166

JSR 166下的并發(fā)實用程序

  • New file I/O library (defined by JSR 203) adding support for multiple file systems, file metadata and symbolic links. The new packages are java.nio.file, java.nio.file.attribute and java.nio.file.spi

新文件I/O庫(由JSR 203定義)煞赢,增加了對多個文件系統(tǒng)抛计、文件元數(shù)據(jù)和符號鏈接的支持。新的包是java.nio照筑。文件,java.nio.file吹截。屬性和java.nio.file.spi

  • Timsort is used to sort collections and arrays of objects instead of merge sort

TimSort是結(jié)合了合并排序(合并排序)和插入排序(插入排序)而得出的排序算法,使用在數(shù)組和集合里面

  • Library-level support for elliptic curve cryptography algorithms

Library-level 支持 橢圓曲線加密算法

  • An XRender pipeline for Java 2D, which improves handling of features specific to modern GPUs

一個用于Java 2D的XRender管道凝危,它改進(jìn)了對特定于現(xiàn)代GPUs的特性的處理

  • New platform APIs for the graphics features originally implemented in version 6u10 as unsupported APIs

最初在版本6u10中作為不受支持的api實現(xiàn)的圖形特性的新平臺api

  • Enhanced library-level support for new network protocols, including SCTP and Sockets Direct Protocol

增強(qiáng)了對新的網(wǎng)絡(luò)協(xié)議的庫級支持波俄,包括SCTP和Socket協(xié)議

  • Upstream updates to XML and Unicode

Upstream 更新到XML and Unicode

  • Java deployment rule sets

Java部署規(guī)則集

代表技術(shù):支持動態(tài)語言、SCTP和Socket協(xié)議蛾默、TimSort

11.Java SE 8 (LTS版本)

發(fā)布版本時間:2014.03.18

Java SE 8下載頁面

微信公眾號:小豬的互聯(lián)網(wǎng)江湖

新特性

  • JSR 335, JEP 126: Supporting lambda expressions also enables functional-style operations on streams of elements, such as MapReduce-inspired transformations on collections.

支持lambda表達(dá)式懦铺,還支持對元素流的函數(shù)式操作,比如集合上MapReduce-inspired 的轉(zhuǎn)換支鸡。默認(rèn)方法允許API的作者在不破壞舊代碼的情況下向接口添加新方法冬念。

  • JSR 223, JEP 174: Project Nashorn, a JavaScript runtime which allows developers to embed JavaScript code within applications

一個JavaScript運(yùn)行時,它允許開發(fā)人員在應(yīng)用程序中嵌入JavaScript代碼

  • JSR 308, JEP 104: Annotation on Java types

新增 Annotation 類型

  • Unsigned integer arithmetic

無符號整數(shù)算術(shù)

  • JSR 337, JEP 120: Repeating annotations

  • JSR 310, JEP 150: Date and time API

日期API

  • JEP 178: Statically-linked JNI libraries

靜態(tài)鏈接的JNI庫

  • JEP 153: Launch JavaFX applications (direct launching of JavaFX application JARs)

啟動JavaFX應(yīng)用程序(直接啟動JavaFX應(yīng)用程序jar)

  • JEP 122: Remove the permanent generation

JVM移除永久代牧挣,新增了元空間

代表技術(shù):lambda 表達(dá)式

12.Java SE 9

發(fā)布版本時間:2017.09.22

Java SE 9下載頁面

新特性

  • JEP 193: Variable handles: define a standard means to invoke the equivalents of variousjava.util.concurrent.atomic and sun.misc.Unsafe operations

工具使用

  • JEP 222: jshell: The Java Shell (a Java REPL)

REPL (JShell):交互式編程環(huán)境急前。

  • JEP 228: Add More Diagnostic Commands

添加Diagnostic指令

客戶端技術(shù)

  • JEP 263: HiDPI graphics: automatic scaling and sizing

HiDPI 圖形:自動縮放和調(diào)整大小

  • JEP 266: More concurrency updates. It includes a Java implementation of Reactive Streams,including a newFlow class that included the interfaces previously provided by Reactive Streams

響應(yīng)式流(Reactive Streams)編程

  • JEP 268: XML catalogs

  • JEP 282: jlink(The Java Linker): create a tool that can assemble and optimize a set of modules and their dependencies into a custom run-time image. It effectively allows to produce a fully usable executable including the JVM to run it

  • JEP 295: Ahead-of-time compilation

提前編譯

  • JSR 376: Modularization of the JDK under Project Jigsaw (Java Platform Module System)

  • JavaDB was removed from JDK

更新新特性,查看官方文檔

代表技術(shù):**響應(yīng)式流(Reactive Streams)瀑构、提前編譯 **

13.Java SE 10

發(fā)布版本時間:2018.03.21

Java SE 10下載頁面

新特性共有12個重要特性

  • JEP 286: Local-variable type inference

var 局部變量類型推斷裆针。

  • JEP 296: Consolidate the JDK forest into a single repository

將原來用 Mercurial 管理的眾多 JDK 倉庫代碼,合并到一個倉庫中寺晌,簡化開發(fā)和管理過程世吨。

  • JEP 304: Garbage-collector interface

統(tǒng)一的垃圾回收接口。

  • JEP 307: Parallel full GC for G1

G1 垃圾回收器的并行完整垃圾回收呻征,實現(xiàn)并行性來改善最壞情況下的延遲耘婚。

  • JEP 310: Application class-data sharing. This allows application classes to be placed in the shared archive to reduce startup and footprint for Java applications

應(yīng)用程序類數(shù)據(jù) (AppCDS) 共享,通過跨進(jìn)程共享通用類元數(shù)據(jù)來減少內(nèi)存占用空間陆赋,和減少啟動時間边篮。

  • JEP 312: Thread-local handshakes

ThreadLocal 握手交互。在不進(jìn)入到全局 JVM 安全點(diǎn) (Safepoint) 的情況下奏甫,對線程執(zhí)行回調(diào)。優(yōu)化可以只停止單個線程凌受,而不是停全部線程或一個都不停阵子。

  • JEP 313: Remove the native-header generation tool – javah

移除 JDK 中附帶的 javah 工具∈を龋可以使用 javac -h 代替挠进。

  • JEP 314: Additional Unicode language-tag extensions

使用附加的 Unicode 語言標(biāo)記擴(kuò)展色乾。

  • JEP 316: Heap allocation on alternative memory devices

能將堆內(nèi)存占用分配給用戶指定的備用內(nèi)存設(shè)備。

  • JEP 317: Experimental Java-based JIT compiler. This is the integration of the Graal dynamic compiler for the Linuxx64 platform

使用 Graal 基于 Java 的編譯器领突,可以預(yù)先把 Java 代碼編譯成本地代碼來提升效能暖璧。

  • JEP 319: Root certificates

在 OpenJDK 中提供一組默認(rèn)的根證書頒發(fā)機(jī)構(gòu)證書。開源目前 Oracle 提供的的 Java SE 的根證書君旦,這樣 OpenJDK 對開發(fā)人員使用起來更方便澎办。

  • JEP 322: Time-based release versioning

基于時間定義的發(fā)布版本,即上述提到的發(fā)布周期金砍。版本號為$FEATURE.$INTERIM.$UPDATE.$PATCH局蚀,分別是大版本,中間版本恕稠,升級包和補(bǔ)丁版本琅绅。

代表技術(shù):G1垃圾回收

14.Java SE 11 (LTS版本)

發(fā)布版本時間:2018.09.25

Java SE 11下載頁面

新特性有:

  • JEP 181:Nest-Based訪問控制

  • JEP 309: Dynamic class-file constants

動態(tài)類文件常量

  • JEP 315:改善Aarch64 intrinsic

  • JEP 318: Epsilon: a no-op garbage collector

無操作垃圾收集器(Epsilon)

  • JEP 320:消除Java EE和CORBA模塊

  • JEP 323: Local-variable syntax for lambda parameters

局部變量的語法lambda 參數(shù)

  • JEP 331: Low-overhead heap profiling

  • JEP 321: HTTP client (standard)

HTTP客戶端(標(biāo)準(zhǔn))

  • 324:Curve25519和Curve448關(guān)鍵協(xié)議

  • JEP 328: Flight recorder 飛行記錄器

  • 329:ChaCha20和Poly1305加密算法

  • JEP 330: Launch Single-File Source-Code Programs

發(fā)射一列縱隊源代碼程序

  • JEP 332: Transport Layer Security (TLS) 1.3

傳輸層安全性(Transport Layer Security,TLS)1.3

  • JEP 331: Low-Overhead Heap Profiling

低開銷堆分析

  • JEP 333:ZGC:A Scalable Low-Latency Garbage Collector (Experimental)

可擴(kuò)展的低延遲垃圾回收器(實驗)

  • JavaFX, Java EE and CORBA modules have been removed from JDK

  • JEP 335: Deprecated the Nashorn JavaScript engine

廢棄Nashorn JavaScript引擎

  • JEP 336: Deprecate the Pack200 Tools and API

廢棄 Pack200工具和API

  • Unicode 10.0.0 support (while current version is Unicode 11.0.0, it's only in Java 12)

Unicode 10的支持,Java12 支持 Unicode 11.0.0

代表技術(shù):Epsilon垃圾回收器鹅巍、ZGC垃圾回收器

15.Java SE 12

發(fā)布版本時間:2019.03.19

Java SE 12下載頁面

作為“功能性版本”千扶,JDK 12 總共包含 8 個新的 JEP ,分別為:

  • JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
    新增Shenandoah 的垃圾回收器骆捧,減少停頓時間

  • JEP 230: Microbenchmark Suite
    新增一套微基準(zhǔn)測試澎羞,使開發(fā)者能夠基于現(xiàn)有的 Java Microbenchmark Harness(JMH)輕松測試 JDK 的性能,并創(chuàng)建新的基準(zhǔn)測試凑懂。

  • JEP 325: Switch Expressions (Preview)
    對 switch 語句進(jìn)行擴(kuò)展

  • JEP 334: JVM Constants API
    引入一個 API 來對關(guān)鍵類文件 (key class-file) 和運(yùn)行時工件的名義描述(nominal descriptions)進(jìn)行建模煤痕,特別是那些可從常量池加載的常量。

  • JEP 340: One AArch64 Port, Not Two
    刪除與 arm64 端口相關(guān)的所有源碼接谨,保留 32 位 ARM 移植和 64 位 aarch64 移植摆碉。

  • JEP 341: Default CDS Archives
    默認(rèn)生成類數(shù)據(jù)共享(CDS)存檔。

  • JEP 344: Abortable Mixed Collections for G1
    當(dāng) G1 垃圾回收器的回收超過暫停目標(biāo)脓豪,則能中止垃圾回收過程巷帝。

  • JEP 346: Promptly Return Unused Committed Memory from G1
    改進(jìn) G1 垃圾回收器,以便在空閑時自動將 Java 堆內(nèi)存返回給操作系統(tǒng)扫夜。

代表技術(shù):Shenandoah垃圾回收器

Java的新特性楞泼,所有的JEP都會發(fā)布在openJdk上

查看更多JEP

16.JEP

Java expression parser Java表達(dá)式分析器

查看更多JEP規(guī)范

17.JSR規(guī)范

JSR是Java Specification Requests的縮寫,意思是Java 規(guī)范提案笤闯。是指向JCP(Java Community Process)提出新增一個標(biāo)準(zhǔn)化技術(shù)規(guī)范的正式請求堕阔。任何人都可以提交JSR,以向Java平臺增添新的API和服務(wù)颗味。JSR已成為Java界的一個重要標(biāo)準(zhǔn)超陆。

1. Real-time Specification forJava

2. Boundary-ScanAPI

3. JavaTMManagementExtensions(JMXTM)Specification

4. ECperfBenchmarkSpecification

5. XMLParsingSpecification

6. UnifiedPrintingAPI(JavaPrintServiceAPI)

7. IndustrialAutomationExtension

8. OpenServicesGatewaySpecification

9. FederatedManagementArchitectureSpecification

10. PreferencesAPISpecification

11. JAINTMTCAPSpecification

12. JavaTMDataObjects(JDO)Specification

13. DecimalArithmeticEnhancement

14. AddGenericTypesToTheJavaTMProgrammingLanguage

15. ImageI/OFrameworkSpecification

查看更多JSR規(guī)范

參考資料:

https://en.wikipedia.org/wiki/Java_version_history

http://gcc.uni-paderborn.de/www/WI/WI2/wi2_lit.nsf/64ae864837b22662c12573e70058bbb4/abf8d70f07c12eb3c1256de900638899/$FILE/Java%20Technology%20-%20An%20early%20history.pdf
https://en.wikipedia.org/wiki/Oak_(programming_language)
https://www.javatpoint.com/history-of-java](https://www.javatpoint.com/history-of-java)
https://www.oracle.com/technetwork/java/javase/archive-139210.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市浦马,隨后出現(xiàn)的幾起案子时呀,更是在濱河造成了極大的恐慌张漂,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谨娜,死亡現(xiàn)場離奇詭異航攒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)趴梢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門漠畜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人垢油,你說我怎么就攤上這事盆驹。” “怎么了滩愁?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵躯喇,是天一觀的道長。 經(jīng)常有香客問我硝枉,道長廉丽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任妻味,我火速辦了婚禮正压,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘责球。我一直安慰自己焦履,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布雏逾。 她就那樣靜靜地躺著嘉裤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栖博。 梳的紋絲不亂的頭發(fā)上屑宠,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天,我揣著相機(jī)與錄音仇让,去河邊找鬼典奉。 笑死,一個胖子當(dāng)著我的面吹牛丧叽,可吹牛的內(nèi)容都是我干的卫玖。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼踊淳,長吁一口氣:“原來是場噩夢啊……” “哼假瞬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤笨触,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后雹舀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芦劣,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年说榆,在試婚紗的時候發(fā)現(xiàn)自己被綠了虚吟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡签财,死狀恐怖串慰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情唱蒸,我是刑警寧澤邦鲫,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站神汹,受9級特大地震影響庆捺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜屁魏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一滔以、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧氓拼,春花似錦你画、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呈队,卻和暖如春剥槐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宪摧。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工粒竖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人几于。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓蕊苗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沿彭。 傳聞我的和親對象是個殘疾皇子朽砰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容