一直比較仰慕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."
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
核心包
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框架基本都是使用RMIRMI/IIOP 窘游,RMI was modified to support optional compatibility with CORBA(ORB)
IIOP 是 CORBA 的通信協(xié)議。它定義通過 CORBA 客戶端與服務(wù)器之間的連線發(fā)送位的方式Java IDL compiler, idlj
Java IDL 編譯器,idljInput Method Framework
輸入方法框架跳纳、輸入法框架Collections Framework Enhancements
Support for Motif 2.1
支持 Motif 2.1Synthetic 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
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/OImage 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
新特性
新的語言特性:
- 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
新特性
- 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
- 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
新特性
- 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
新特性
- 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
新特性共有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
新特性有:
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
作為“功能性版本”千扶,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上
16.JEP
Java expression parser Java表達(dá)式分析器
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
參考資料:
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