Java 8

Features | Milestones | Mailing Lists | JEPs | JDK 8 Project | Official Release |

This page is a collection of Articles for each feature in Java 8. The main working JSR for Java SE 8 is JSR-337.

Java 8 is now out (as of the 18th of March 2014) at EclipseCon 2014 – here is the official announcement and the download page.

I will keep this page updated with new resources as they’re created (and as I find them).

To keep track of what’s going in with the next release – Java 9 – I have a page that I frequently update with new developments here:

>> THE JAVA 9 PAGE

Note: If you have updates, new resources to include or spot any incorrect information, please feel free to contact me directly (eugen at this domain) or leave a comment below.

Features

Lambda

101 – Generalized Target-Type Inference (core/lang) (new January 2014 Articles)
107 – Bulk Data Operations for Collections (core/libs) (new August 2014 Articles)
109 – Enhance Core Libraries with Lambda (core/libs)
126 – Lambda Expressions & Virtual Extension Methods (–/–) (new June 2014 Articles)
160 – Lambda-Form Representation for Method HGandles (–/–)
General Lambda Resources (new July 2014 Articles)

Language (core/lang)

104 – Annotations on Java Types (new February 2014 Articles)
105 – DocTree API
106 – Add Javadoc to javax.tools
117 – Remove the Annotation-Processing Tool (apt)
118 – Access to Parameter Names at Runtime
120 – Repeating Annotations
139 – Enhance javac to Improve Build Speed
172 – DocLint
182 – Policy for Retiring javac -source and -target Options (DROPPED)

Libraries (core/libs)

102 – Process API Updates
103 – Parallel Array Sorting (new April 2014 Articles)
108 – Collections Enhancements from Third-Party Libraries (DROPPED)
111 – Additional Unicode Constructs for Regular Expressions (DROPPED)
112 – Charset Implementation Improvements
119 – javax.lang.model Implementation Backed by Core Reflection
135 – Base64 Encoding & Decoding
149 – Reduce Core-Library Memory Usage
150 – Date & Time API (new April 2014 Articles)
151 – Compress Time-Zone Data
154 – Remove Serialization
155 – Concurrency Updates (new May 2014 Articles)
170 – JDBC 4.2
177 – Optimize java.text.DecimalFormat.format
178 – Statically-Linked JNI Libraries
180 – Handle Frequent HashMap Collisions with Balanced Trees

Networking (core/net)

110 – New HTTP Client (DROPPED)
125 – Network Interface Aliases, Events, and Defaults (DROPPED)
168 – Network Discovery of Manageable Java Processes
183 – HTTP Cross-Origin Resource Sharing (DROPPED)
184 – HTTP URL Permissions

Security (core/sec)

113 – MS-SFU Kerberos 5 Extensions
114 – TLS Server Name Indication (SNI) Extension
115 – AEAD CipherSuites
116 – Extended Validation Certificates
121 – Stronger Algorithms for Password-Based Encryption
123 – Configurable Secure Random-Number Generation
124 – Enhance the Certificate Revocation-Checking API
129 – NSA Suite B Cryptographic Algorithms
130 – SHA-224 Message Digests
131 – PKCS#11 Crypto Provider for 64-bit Windows
140 – Limited doPrivileged
152 – Crypto Operations with Network HSMs
166 – Overhaul JKS-JCEKS-PKCS12 Keystores
General Security Resources (new March 2014 Articles)

JVM – Garbage Collection (vm/gc)

122 – Remove the Permanent Generation
132 – More-prompt finalization (DROPPED)
134 – Intuitive Semantics for Nested Reference Objects (DROPPED)
141 – Increase the Client VM’s Default Heap Size (DROPPED)
144 – Reduce GC Latency for Large Heaps (DROPPED)
156 – G1 GC: Reduce need for full GCs (DROPPED)
157 – G1 GC: NUMA-Aware Allocation (DROPPED)
163 – Enable NUMA Mode by Default When Appropriate
173 – Retire Some Rarely-Used GC Combinations

JVM – Real Time (vm/rt)

136 – Enhanced Verification Errors
143 – Improve Contended Locking (DROPPED)
147 – Reduce Class Metadata Footprint
148 – Small VM
171 – Fence Intrinsics
181 – Align JVM Checks with Java Language Rules for Nested Classes (DROPPED)

JVM (vm/–)

142 – Reduce Cache Contention on Specified Fields
145 – Cache Compiled Code (DROPPED)
146 – Improve Fatal Error Logs (DROPPED)
169 – Value Objects (DROPPED)

Core (–/–)

138 – Autoconf-Based Build System
161 – Compact Profiles
162 – Prepare for Modularization
164 – Leverage CPU Instructions for AES Cryptography
174 – Nashorn JavaScript Engine (new June 2014 Articles)
175 – PowerPC/AIX Port
176 – Mechanical Checking of Caller-Sensitive Methods
179 – Document JDK API Support and Stability

Other JEPs

127 – Improve Locale Data Packaging and Adopt Unicode CLDR Data (core/i18n)
128 – BCP 47 Locale Matching (core/i18n)
133 – Unicode 6.2 (core/i18n)
153 – Launch JavaFX Applications (core/–)
185 – JAXP 1.5: Restrict Fetching of External Resources (web/jaxp)

General Java 8 Resources

Java 8 Installation and IDE Support (new March 2014 Articles)
Other Official/Oracle Java 8 Resources
Other General Java 8 Resources (new August 2014 Articles)

 

JEP Details

— Lambda —

101 – Generalized Target-Type Inference

JEP | Mailing List | JSR

Resources

 

107 – Bulk Data Operations for Collections

JEP | Mailing List | Project | JSR

Oracle/Official Resources

Resources

 

109 – Enhance Core Libraries with Lambda

JEP | Mailing List | JSR

Oracle/Official Resources

Resources

 

126 – Lambda Expressions & Virtual Extension Methods

JEP | Mailing List | JSR | Project

Resources

 

160 – Lambda-Form Representation for Method Handles

JEP | Mailing List

Oracle/Official Resources

 

General Lambda Resources

 

— Language (core/lang) —

104 – Annotations on Java Types

JEP | Mailing List | Project | JSR

Oracle/Official Resources

Resources

 

105 – DocTree API

JEP | Mailing List

 

106 – Add Javadoc to javax.tools

JEP | Mailing List | JSR

 

117 – Remove the Annotation-Processing Tool (apt)

JEP | Mailing List | JSR

Resources

 

118 – Access to Parameter Names at Runtime

JEP | Mailing List | JSR

Resources

 

120 – Repeating Annotations

JEP | Mailing List | JSR | JDK Bug

Oracle/Official Resources

Resources

 

139 – Enhance javac to Improve Build Speed

JEP | Mailing List

Oracle/Official Resources

Resources

 

172 – DocLint

JEP | Mailing List

Oracle/Official Resources

Resources

 

182 – Policy for Retiring javac -source and -target Options (DROPPED)

JEP | Mailing List

Oracle/Official Resources

 

— Libraries (core/libs) —

102 – Process API Updates

JEP | Mailing List

 

103 – Parallel Array Sorting

JEP | Mailing List | JSR  | JDK Bug

Resources

 

108 – Collections Enhancements from Third-Party Libraries (DROPPED)

JEP | Mailing List

 

111 – Additional Unicode Constructs for Regular Expressions (DROPPED)

JEP | Mailing List

 

112 – Charset Implementation Improvements

JEP | Mailing List

 

119 – javax.lang.model Implementation Backed by Core Reflection

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

135 – Base64 Encoding & Decoding

JEP | Mailing List

Resources

 

149 – Reduce Core-Library Memory Usage

JEP | Mailing List

 

150 – Date & Time API

JEP | Mailing List | Project | JSR

Oracle/Official Resources

Resources

 

151 – Compress Time-Zone Data (Superseded by JEP 150)

JEP | Mailing List

 

154 – Remove Serialization (Withdrawn)

JEP | Mailing List

 

155 – Concurrency Updates

JEP | Mailing List | JSR

Oracle/Official Resources

Resources

 

170 – JDBC 4.2

JEP | Mailing List | JSR, JSR

 

177 – Optimize java.text.DecimalFormat.format

JEP | Mailing List | JDK Bug

 

178 – Statically-Linked JNI Libraries

JEP | Mailing List

Resources

 

180 – Handle Frequent HashMap Collisions with Balanced Trees

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

— Networking (core/net) —

110 – New HTTP Client (DROPPED)

JEP | Mailing List | Project

Oracle/Official Resources

 

125 – Network Interface Aliases, Events, and Defaults (DROPPED)

JEP | Mailing List

 

168 – Network Discovery of Manageable Java Processes

JEP | Mailing List

 

183 – HTTP Cross-Origin Resource Sharing (DROPPED)

JEP | Mailing List

 

184 – HTTP URL Permissions

JEP | Mailing List

 

— Security (core/sec) —

113 – MS-SFU Kerberos 5 Extensions

JEP | Mailing List

Oracle/Official Resources

 

114 – TLS Server Name Indication (SNI) Extension

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

115 – AEAD CipherSuites

JEP | Mailing List

 

116 – Extended Validation Certificates

JEP | Mailing List

 

121 – Stronger Algorithms for Password-Based Encryption

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

123 – Configurable Secure Random-Number Generation

JEP | Mailing List

 

124 – Enhance the Certificate Revocation-Checking API

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

129 – NSA Suite B Cryptographic Algorithms

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

130 – SHA-224 Message Digests

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

131 – PKCS#11 Crypto Provider for 64-bit Windows

JEP | Mailing List | JDK Bug

Oracle/Official Resources

 

140 – Limited doPrivileged

JEP | Mailing List | JDK Bug

 

152 – Crypto Operations with Network HSMs

JEP | Mailing List

 

166 – Overhaul JKS-JCEKS-PKCS12 Keystores

JEP | Mailing List

 

General Security Resources

Oracle/Official Security Resources

Security Resources

 

— JVM – Garbage Collection (vm/gc) —

122 – Remove the Permanent Generation

JEP | Mailing List

Oracle/Official Resources

Resources

 

132 – More-prompt finalization (DROPPED)

JEP | Mailing List

Oracle/Official Resources

 

134 – Intuitive Semantics for Nested Reference Objects (DROPPED)

JEP | Mailing List

 

141 – Increase the Client VM’s Default Heap Size (DROPPED)

JEP | Mailing List

 

144 – Reduce GC Latency for Large Heaps (DROPPED)

JEP | Mailing List

Resources

 

156 – G1 GC: Reduce need for full GCs (DROPPED)

JEP | Mailing List

 

157 – G1 GC: NUMA-Aware Allocation (DROPPED)

JEP | Mailing List

 

163 – Enable NUMA Mode by Default When Appropriate

JEP | Mailing List

 

173 – Retire Some Rarely-Used GC Combinations

JEP | Mailing List

Oracle/Official Resources

 

— JVM – Real Time (vm/rt) —

136 – Enhanced Verification Errors

JEP | Mailing List

 

143 – Improve Contended Locking (DROPPED)

JEP | Mailing List

 

147 – Reduce Class Metadata Footprint

JEP | Mailing List

 

148 – Small VM

JEP | Mailing List

 

171 – Fence Intrinsics

JEP | Mailing List

Oracle/Official Resources

 

181 – Align JVM Checks with Java Language Rules for Nested Classes (DROPPED)

JEP | Mailing List

 

— JVM (vm/–) —

142 – Reduce Cache Contention on Specified Fields

JEP | Mailing List

 

145 – Cache Compiled Code (DROPPED)

JEP | Mailing List

Resources

 

146 – Improve Fatal Error Logs (DROPPED)

JEP | Mailing List

 

169 – Value Objects (DROPPED)

JEP | Mailing List

Oracle/Official Resources

Resources

 

— Core (–/–) —

138 – Autoconf-Based Build System

JEP | Mailing List

 

161 – Compact Profiles

JEP | Mailing List

Oracle/Official Resources

Resources

 

162 – Prepare for Modularization

JEP | Mailing List | Project

Oracle/Official Resources

Resources

 

164 – Leverage CPU Instructions for AES Cryptography

JEP | Mailing List

 

174 – Nashorn JavaScript Engine

JEP | Mailing List | JSR | Project

Oracle/Official Resources

Resources

 

175 – PowerPC/AIX Port

JEP | Mailing List | Project

Oracle/Official Resources

 

176 – Mechanical Checking of Caller-Sensitive Methods

JEP | Mailing List

 

179 – Document JDK API Support and Stability

JEP | Mailing List

 

— Other JEPs —

127 – Improve Locale Data Packaging and Adopt Unicode CLDR Data (core/i18n)

JEP | Mailing List

 

128 – BCP 47 Locale Matching (core/i18n)

JEP | Mailing List

 

133 – Unicode 6.2 (core/i18n)

JEP | Mailing List

Oracle/Official Resources

 

153 – Launch JavaFX Applications (core/–)

JEP | Mailing List

 

185 – JAXP 1.5: Restrict Fetching of External Resources (web/jaxp)

JEP | Mailing List | JSR

Oracle/Official Resources

 

General Java 8 Resources

Java 8 Installation and IDE Support

Other Official/Oracle Java 8 Resources

Other General Java 8 Resources

– 2013 –