126 Lambda Expressions &
Virtual Extension Methods
Add lambda expressions (closures) and
supporting features, including method references, enhanced type
inference, and virtual extension methods, to the Java programming
language and platform.
Owner: Brian Goetz
Author: Joseph D. Darcy
Discussion: lambda dash dev at openjdk dot java dot net
138 Autoconf-Based Build
System
Author: Magnus Ihse Bursie
Discussion: jdk8 dash dev at openjdk dot java dot net
160 Lambda-Form
Representation for Method Handles
Improve the implementation of method handles
by replacing assembly language paths with an optimizable
intermediate representation and then refactoring the implementation
so that more work is done in portable Java code than is hardwired
into the JVM.
Author: John Rose
Discussion: mlvm dash dev at openjdk dot java dot net
Define a few subset Profiles of the Java SE
Platform Specification so that applications that do not require the
entire Platform can be deployed and run on small devices.
Owner: Bob Vandette
Author: Bob Vandette, Mark Reinhold
Discussion: jdk8 dash dev at openjdk dot java dot net
162 Prepare for
Modularization
Undertake changes to smooth the eventual
transition to modules in a future release, provide new tools to
help developers prepare for the modular platform, and deprecate
certain APIs that are a significant impediment to
modularization.
Author: Alan Bateman
Discussion: jigsaw dash dev at openjdk dot java dot net
164 Leverage CPU
Instructions for AES Cryptography
Improve the out-of-box AES Crypto performance
by using x86 AES instructions when available, and by avoiding
unnecessary re-expansion of the AES key.
Author: Vladimir Kozlov
Discussion: hotspot dash compiler dash dev at openjdk dot java
dot net
174 Nashorn JavaScript
Engine
Design and implement a new lightweight,
high-performance implementation of JavaScript, and integrate it
into the JDK. The new engine will be made available to Java
applications via the existing javax.script
API, and
also more generally via a new command-line tool.
Author: Jim Laskey
Discussion: nashorn dash dev at openjdk dot java dot net
176 Mechanical Checking of
Caller-Sensitive Methods
Improve the security of the JDK’s
method-handle implementation by replacing the existing
hand-maintained list of caller-sensitive methods with a mechanism
that accurately identifies such methods and allows their callers to
be discovered reliably.
Owner: John Rose
Author: John Rose, Christian Thalinger, Mandy Chung
Discussion: core dash libs dash dev at openjdk dot java dot
net
179 Document JDK API Support
and Stability
There is a long-standing shortcoming in the
JDK in terms of clearly specifying the support and stability usage
contract for com.sun.*
types and other types shipped
with the JDK that are outside of the Java SE specification. These
contracts and potential evolution policies should be clearly
captured both in the source code of the types and in the resulting
class files. This information can be modeled with JDK-specific
annotation types.
Author: Joseph D. Darcy
Discussion: core dash libs dash dev at openjdk dot java dot
net
142 Reduce Cache Contention
on Specified Fields
Define a way to specify that one or more
fields in an object are likely to be highly contended across
processor cores so that the VM can arrange for them not to share
cache lines with other fields, or other objects, that are likely to
be independently accessed.
Owner: Tony Printezis
Author: Jesper Wilhelmsson, Tony Printezis
Discussion: hotspot dash dev at openjdk dot java dot net
122 Remove the Permanent
Generation
Remove the permanent generation from the
Hotspot JVM and thus the need to tune the size of the permanent
generation.
Author: Jon Masamitsu
Discussion: hotspot dash dev at openjdk dot java dot net
173 Retire Some Rarely-Used
GC Combinations
Remove three rarely-used combinations of
garbage collectors in order to reduce ongoing development,
maintenance, and testing costs.
Author: Bengt Rutisson
Discussion: hotspot dash gc dash dev at openjdk dot java dot
net
136 Enhanced Verification
Errors
Provide additional contextual information
about bytecode-verification errors to ease diagnosis of bytecode or
stackmap deficiencies in the field.
Author: Keith McGuigan
Discussion: hotspot dash runtime dash dev at openjdk dot java
dot net
147 Reduce Class Metadata
Footprint
Reduce HotSpot’s class metadata memory
footprint in order to improve performance on small devices.
Author: Jiangli Zhou
Discussion: hotspot dash runtime dash dev at openjdk dot java
dot net
Support the creation of a small VM that is no
larger than 3MB.
Author: Joe Provino
Discussion: hotspot dash dev at openjdk dot java dot net
Add three memory-ordering intrinsics to the
sun.misc.Unsafe
class.
Author: Doug Lea
Discussion: hotspot dash dev at openjdk dot java dot net
153 Launch JavaFX
Applications
Enhance the java
command-line
launcher to launch JavaFX applications.
Author: Kumar Srinivasan
Discussion: core dash libs dash dev at openjdk dot java dot
net
101 Generalized Target-Type
Inference
Smoothly expand the scope of method
type-inference to support (i) inference in method context and (ii)
inference in chained calls.
Author: Maurizio Cimadamore
Discussion: lambda dash dev at openjdk dot java dot net
104 Annotations on Java
Types
Extend the set of annotatable locations in the
syntax of the Java programming language to include names which
indicate the use of a type as well as (per Java SE 5.0) the
declaration of a type.
Author: Michael Ernst, Alex Buckley
Discussion: type dash annotations dash dev at openjdk dot java
dot net
Extend the Compiler Tree API to provide
structured access to the content of javadoc comments.
Author: Jonathan Gibbons
Discussion: compiler dash dev at openjdk dot java dot
net
106 Add Javadoc to
javax.tools
Extend the javax.tools
API to
provide access to javadoc.
Author: Jonathan Gibbons
Discussion: compiler dash dev at openjdk dot java dot
net
117 Remove the
Annotation-Processing Tool (apt)
Remove the apt
tool, associated
API, and documentation from the JDK.
Author: Joseph D. Darcy
Discussion: compiler dash dev at openjdk dot java dot
net
118 Access to Parameter
Names at Runtime
Provide a mechanism to easily and reliably
retrieve the parameter names of methods and constructors at runtime
via core reflection.
Owner: Alex Buckley
Author: Joseph D. Darcy
Discussion: enhanced dash metadata dash spec dash discuss at
openjdk dot java dot net
120 Repeating
Annotations
Change the Java programming language to allow
multiple application of annotations with the same type to a single
program element.
Owner: Alex Buckley
Author: Joseph D. Darcy
Discussion: enhanced dash metadata dash spec dash discuss at
openjdk dot java dot net
139 Enhance javac to Improve
Build Speed
Reduce the time required to build the JDK and
enable incremental builds by modifying the Java compiler to run on
all available cores in a single persistent process, track package
and class dependences between builds, automatically generate header
files for native methods, and clean up class and header files that
are no longer needed.
Author: Magnus Ihse Bursie
Discussion: compiler dash dev at openjdk dot java dot
net
Provide a means to detect errors in Javadoc
comments early in the development cycle and in a way that is easily
linked back to the source code.
Author: Jonathan Gibbons
Discussion: javadoc dash dev at openjdk dot java dot net
103 Parallel Array
Sorting
Add additional utility methods to
java.util.Arrays
that use the JSR 166 Fork/Join
parallelism common pool to provide sorting of arrays in
parallel.
Owner: Chris Hegarty
Author: David Holmes, Chris Hegarty
Discussion: core dash libs dash dev at openjdk dot java dot
net
107 Bulk Data Operations for
Collections
Add functionality to the Java Collections
Framework for bulk operations upon data. This is commonly
referenced as “filter/map/reduce for Java.” The bulk
data operations include both serial (on the calling thread) and
parallel (using many threads) versions of the operations.
Operations upon data are generally expressed as lambda
functions.
Author: Mike Duigou
Discussion: lambda dash dev at openjdk dot java dot net
109 Enhance Core Libraries
with Lambda
Enhance the Java core library APIs using the
new lambda language feature to improve the usability and
convenience of the library.
Owner: Stuart W. Marks
Author: Stuart W. Marks, Mike Duigou
Discussion: core dash libs dash dev at openjdk dot java dot
net
112 Charset Implementation
Improvements
Improve the maintainability and performance of
the standard and extended charset implementations.
Author: Xueming Shen
Discussion: core dash libs dash dev at openjdk dot java dot
net
119 javax.lang.model
Implementation Backed by Core Reflection
Provide an implementation of the
javax.lang.model.*
API backed by core reflection
rather than by javac
. In other words, provide an
alternate API to access and process the reflective information
about loaded classes provided by core reflection.
Author: Joseph D. Darcy
Discussion: compiler dash dev at openjdk dot java dot
net
135 Base64 Encoding &
Decoding
Define a standard API for Base64 encoding and
decoding.
Author: Alan Bateman
Discussion: core dash libs dash dev at openjdk dot java dot
net
149 Reduce Core-Library
Memory Usage
Reduce the dynamic memory used by core-library
classes without adversely impacting performance.
Owner: Roger Riggs
Author: Roger Riggs, Hinkmond Wong, David Holmes
Discussion: core dash libs dash dev at openjdk dot java dot
net
Define a new date, time, and calendar API for
the Java SE platform.
Owner: Xueming Shen
Author: Stephen Colebourne
Discussion: core dash libs dash dev at openjdk dot java dot
net
Scalable updatable variables, cache-oriented
enhancements to the ConcurrentHashMap
API,
ForkJoinPool
improvements, and additional
Lock
and Future
classes.
Owner: Chris Hegarty
Author: Doug Lea
Discussion: core dash libs dash dev at openjdk dot java dot
net
Minor enhancements to JDBC to improve
usability and portability
Author: Lance Andersen
Discussion: jdbc dash spec dash discuss at openjdk dot java
dot net
177 Optimize
java.text.DecimalFormat.format
Optimize
java.text.DecimalFormat.format
by taking advantage of
numerical properties of integer and floating-point arithmetic to
accelerate cases with two or three digits after the decimal
point.
Author: Joseph D. Darcy
Discussion: core dash libs dash dev at openjdk dot java dot
net
178 Statically-Linked JNI
Libraries
Enhance the JNI specification to support
statically linked native libraries.
Author: Bob Vandette
Discussion: jdk8 dash dev at openjdk dot java dot net
180 Handle Frequent HashMap
Collisions with Balanced Trees
Improve the performance of
java.util.HashMap
under high hash-collision conditions
by using balanced trees rather than linked lists to store map
entries. Implement the same improvement in the
LinkedHashMap
class.
Owner: Brent Christian
Author: Mike Duigou
Discussion: core dash libs dash dev at openjdk dot java dot
net
127 Improve Locale Data
Packaging and Adopt Unicode CLDR Data
Create a tool to convert LDML (Locale Data
Markup Language) files into a format usable directly by the runtime
library, define a way to package the results into modules, and then
use these to incorporate the de-facto standard locale data
published by the Unicode Consortium’s CLDR project into the
JDK.
Author: Naoto Sato
Discussion: i18n dash dev at openjdk dot java dot net
128 BCP 47 Locale
Matching
Define APIs so that applications that use BCP
47 language tags (see
RFC 5646) can match
them to a user’s language preferences in a way that conforms
to
RFC
4647.
Owner: Yuka Kamiya
Author: Naoto Sato
Discussion: i18n dash dev at openjdk dot java dot net
Author: Yuka Kamiya
Discussion: i18n dash dev at openjdk dot java dot net
Define a new type of network permission which
grants access in terms of URLs rather than low-level IP
addresses.
Author: Michael McMahon
Discussion: net dash dev at openjdk dot java dot net
113 MS-SFU Kerberos 5
Extensions
Author: Weijun Wang
Discussion: security dash dev at openjdk dot java dot
net
114 TLS Server Name
Indication (SNI) Extension
Add support for the TLS Server Name Indication
(SNI) Extension to allow more flexible secure virtual hosting and
virtual-machine infrastructure based on SSL/TLS protocols.
Author: Xuelei Fan
Discussion: security dash dev at openjdk dot java dot
net
Support the AEAD/GCM cipher suites defined by
SP-800-380D, RFC 5116, RFC 5246, RFC 5288, RFC 5289 and RFC
5430.
Owner: Bradford Wetmore
Author: Xuelei Fan
Discussion: security dash dev at openjdk dot java dot
net
121 Stronger Algorithms for
Password-Based Encryption
Provide stronger Password-Based-Encryption
(PBE) algorithm implementations in the SunJCE provider.
Owner: Vincent Ryan
Author: Valerie Peng
Discussion: security dash dev at openjdk dot java dot
net
123 Configurable Secure
Random-Number Generation
Enhance the API for secure random-number
generation so that it can be configured to operate within specified
quality and responsiveness constraints.
Author: Bradford Wetmore
Discussion: security dash dev at openjdk dot java dot
net
124 Enhance the Certificate
Revocation-Checking API
Improve the certificate revocation-checking
API to support best-effort checking, end-entity certificate
checking, and mechanism-specific options and parameters.
Author: Sean Mullan
Discussion: security dash dev at openjdk dot java dot
net
129 NSA Suite B
Cryptographic Algorithms
Provide implementations of the cryptographic
algorithms required by
NSA Suite
B.
Author: Valerie Peng
Discussion: security dash dev at openjdk dot java dot
net
130 SHA-224 Message
Digests
Implement the SHA-224 message-digest algorithm
and related algorithms.
Author: Valerie Peng
Discussion: security dash dev at openjdk dot java dot
net
131 PKCS#11 Crypto Provider
for 64-bit Windows
Include the SunPKCS11 provider in the JDK for
64-bit Windows.
Author: Valerie Peng
Discussion: security dash dev at openjdk dot java dot
net
Enable code to assert a subset of its
privileges without otherwise preventing the full access-control
stack walk to check for other permissions.
Author: Sean Mullan
Discussion: security dash dev at openjdk dot java dot
net
166 Overhaul
JKS-JCEKS-PKCS12 Keystores
Facilitate migrating data from JKS and JCEKS
keystores by adding equivalent support to the PKCS#12 keystore.
Enhance the KeyStore API to support new features such as entry
metadata and logical views spanning several keystores. Enable the
strong crypto algorithms introduced in JEP-121 to be used to
protect keystore entries.
Author: Vincent Ryan
Discussion: security dash dev at openjdk dot java dot
net
185 Restrict Fetching of
External XML Resources
Enhance the JAXP APIs to add the ability to
restrict the set of network protocols that may be used to fetch
external resources.
Author: Joe Wang
Discussion: core dash libs dash dev at openjdk dot java dot
net