Java 8

Java 8 officially know as Java SE 8 was released on March 18, 2014, and included some features that were planned for Java 7 but later deferred.

Work on features was organized in terms of JDK Enhancement Proposal (JEP). JSRs Java Specification Requests are part of the Java Community Process, basically change requests for the Java language, libraries and other components.

  • JSR 335 (second link), JEP 126: Language-level support for lambda expressions  under Project Lambda and default methods which allow the addition of methods to interfaces without breaking existing implementations. There was an ongoing debate in the Java community on whether to add support for lambda expressions. Sun later declared that lambda expressions would be included in Java and asked for community input to refine the feature.  Supporting lambda expressions also enables functional-style operations on streams of elements, such as MapReduce-inspired transformations on collections. Default methods allow an author of an API to add new methods to an interface without breaking the old code using it. Although it was not their primary intent, default methods also allow multiple inheritance of behavior (but not state).
  • JSR 223, JEP 174: Project Nashhorn, a JavaScript runtime which allows developers to embed JavaScript code within applications
  • JSR 308, JEP 104: Annotation on Java types
  • Unsigned integer arithmetic
  • JSR 337, JEP 120: Repeating annotations
  • JSR 310, JEP 150: Date and time API
  • JEP 178: Statically-linked JNI libraries
  • JEP 153: Launch JavaFX applications (direct launching of JavaFX application JARs)
  • JEP 122: Remove the permanent generation

Java 8 is not supported on Windows XP but as of JDK 8 update 25, it can still be installed and run under Windows XP. Previous updates of JDK 8 could be run under XP, but had to be installed after a forced installation by directly unzipping files from the installation executable.

From October 2014, Java 8 was the default version to download (and then again the download replacing Java 9) from the official website.”Oracle will continue to provide Public Updates and auto updates of Java SE 8, until at least the end of December 2020 for Personal Users, and January 2019 for Commercial Users”.

New JAVA Features

  • forEach() method in Iterable interface.
  • default and static methods in Interfaces.
  • Functional Interfaces and Lambda Expressions.
  • Java Stream API for Bulk Data Operations on Collections.
  • Java Time API.
  • Collection API improvements.
  • Concurrency API improvements.
  • Java IO improvements.