Skip to content

Latest commit

 

History

History

java-8

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Java 8

JEPs

  • 126 - Lambda Expressions & Virtual Extension Methods
  • 138 - Autoconf-Based Build System
  • 160 - Lambda-Form Representation for Method Handles
  • 161 - Compact Profiles
  • 162 - Prepare for Modularization
  • 164 - Leverage CPU Instructions for AES Cryptography
  • 174 - Nashorn JavaScript Engine
  • 176 - Mechanical Checking of Caller-Sensitive Methods
  • 179 - Document JDK API Support and Stability
  • 142 - Reduce Cache Contention on Specified Fields
  • 122 - Remove the Permanent Generation
  • 173 - Retire Some Rarely-Used GC Combinations
  • 136 - Enhanced Verification Errors
  • 147 - Reduce Class Metadata Footprint
  • 148 - Small VM
  • 171 - Fence Intrinsics
  • 153 - Launch JavaFX Applications
  • 101 - Generalized Target-Type Inference
  • 104 - Annotations on Java Types
  • 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
  • 103 - Parallel Array Sorting
  • 107 - Bulk Data Operations for Collections
  • 109 - Enhance Core Libraries with Lambda
  • 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
  • 155 - Concurrency Updates
  • 170 - JDBC 4.2
  • 177 - Optimize java.text.DecimalFormat.format
  • 178 - Statically-Linked JNI Libraries
  • 180 - Handle Frequent HashMap Collisions with Balanced Trees
  • 127 - Improve Locale Data Packaging and Adopt Unicode CLDR Data
  • 128 - BCP 47 Locale Matching
  • 133 - Unicode 6.2
  • 184 - HTTP URL Permissions
  • 113 - MS-SFU Kerberos 5 Extensions
  • 114 - TLS Server Name Indication (SNI) Extension
  • 115 - AEAD CipherSuites
  • 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
  • 166 - Overhaul JKS-JCEKS-PKCS12 Keystores
  • 185 - Restrict Fetching of External XML Resources

Features

Languages

  • new methods from APIs
  • Stream API
  • Project Lambda:
    • lambda expression to create anonymous method
    • lambda access scope (enclosing scope)
    • lambda expression to call constructors through method reference
  • Annotation improvements:
    • Annotations on Java Types
    • Repeating annotations
  • Method parameter reflection

Lambda expression consiste of:

  • A comma-separated list of formal parameters enclosed in parentheses: (paramX, paramY) or singleParam or ()
  • An arrow token: ->
  • A body, which consists of a single expression or a statement block: {} or a single expression without ;

E.g.:

  • (x, y) -> return x + y
  • (x, y) -> { System.out.println(x); System.out.println(y); }
  • name -> System.out.println(name)

For further information read the Java Tutorial at section about [Lambda Expressions] (http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html).

Links