uted Java 8 Streams with Hazelcast JETFeatures | 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) – 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
Release Notes for JDK 8:
- JDK 8u172 release notes
- JDK 8u171 release notes
- JDK 8u162 release notes
- JDK 8u161 release notes
- JDK 8u151 release notes
- JDK 8u152 release notes
- JDK 8u144 release notes
- JDK 8u141 release notes
- JDK 8u131 release notes
- JDK 8u121 release notes
- JDK 8u112 release notes
- JDK 8u111 release note
- JDK 8u102 release notes
- JDK 8u101 release notes
- JDK 8u92 release notes
- JDK 8u91 release notes
- JDK 8u77 release notes
- JDK 8u74 release notes
- JDK 8u73 release notes
- JDK 8u72 release notes
- JDK 8u71 release notes
- JDK 8u66 release notes
- JDK 8u65 release notes
- JDK 8u60 release notes
- JDK 8u51 release notes
- JDK 8u45 release notes
- JDK 8u40 release notes
- JDK 8u31 release notes
- JDK 8u25 (revision builds)
- JDK 8u25 (public release)
- JDK 8u20 (revision builds)
- JDK 8u20 (public release)
- JDK 8u11 (revision builds)
- JDK 8u11 (public release)
- JDK 8u5 (revision builds)
- JDK 8u5 (public release)
- JDK 8 (public release)
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
- => Language (core/lang)
- => Libraries (core/libs)
- => Networking (core/net)
- => Security (core/sec)
- => JVM – Garbage Collection (vm/gc)
- => JVM – Real Time (vm/rt)
- => JVM (vm/–)
- => Core (–/–)
- => Other JEPs
- => General Java 8 Resources
Lambda
101 – Generalized Target-Type Inference (core/lang) (latest: January 2014)
107 – Bulk Data Operations for collections (core/libs) (latest: January 2018)
109 – Enhance Core Libraries with Lambda (core/libs)
126 – Lambda Expressions & Virtual Extension Methods (–/–) (latest: Jan 2015)
160 – Lambda-Form Representation for Method HGandles (–/–)
General Lambda Resources (latest: Februaryy 2018)
Language (core/lang)
104 – Annotations on Java Types (latest: February 2014)
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 (latest: August 2014)
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 (latest: March 2015)
151 – Compress Time-Zone Data
154 – Remove Serialization
155 – Concurrency Updates (latest: May 2015)
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 (latest: March 2014)
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
General Gargage Collection Resources
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 (latest: Oct 2014)
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 (latest: Oct 2015)
Other Official/Oracle Java 8 Resources
Other General Java 8 Resources (latest: March 2018)
JEP Details
— Lambda —
101 – Generalized Target-Type Inference
JEP | Mailing List | JSR
Resources
- A Lesser-Known Java 8 Feature: Generalized Target-Type Inference (Nov 2013)
- On StackOverflow – Java 8 and Generalized Target-Type Inference (Nov 2012)
107 – Bulk Data Operations for Collections
JEP | Mailing List | Project | JSR
Oracle/Official Resources
Resources
- Maintaining PriorityQueue Order with Java Streams (new – March 2018)
- Leveraging Lambda Expressions for Lazy Evaluation in Java (new – March 2018)
- Sliding Windows Stream/Spliterator in Java (new – March 2018)
- Idiomatic Stream Peeking in Java (new – March 2018)
- Sneakily Throwing Exceptions in Lambda Expressions in Java (new – March 2018)
- Java 8 Streams: Convert List into Map (new – March 2018)
- A Guide to Streams in Java 8: In-Depth Tutorial with Examples (new – March 2018)
- Joining Objects into a String with Java 8 Stream API (new – March 2018)
- Java 8 Stream map() examples (new – March 2018)
- Mastering Java 8 Streams – Part 2 | Java 8 Features (video) (new – March 2018)
- Mastering Java 8 Streams – Part 1 | Java 8 Features (video) (new – March 2018)
- Java 8 Convert Streams to & from Arrays Examples (new – February 2018)
- Java 8 Stream Cheatsheet (new – February 2018)
- Java 8 Streams Collect Examples (new – January 2018)
- Java 8 Streams Tutorial (new – January 2018)
- Stream API in Java 8 (new – January 2018)
- Java Stream reduce (new – January 2018)
- Java 8 Streams Map Examples (new – January 2018)
- Debugging Java 8 Streams (new – January 2018)
- Java 8 Convert a Stream to List Example (new – January 2018)
- Java 8 Streams: allMatch(), anyMatch(), noneMatch() Example (new – January 2018)
- Custom thread pool in Java 8 parallel stream (new – December 2017)
- Java 8 stream reverse order (new – December 2017)
- In Java8 – How to Convert Array to Stream using Arrays.stream() and Stream.of() Operations (new – December 2017)
- Java SE 8 New Features Tour: Processing Collections with Streams API (new – December 2017)
- Java 8 Stream API And Its improvements in Java 9 (new – December 2017)
- Java 8 Stream : Need with examples and Limitations (new – December 2017)
- Java 8 Stream Distinct Examples (new – November 2017)
- Java 8 Stream – Java Stream (new – November 2017)
- Java 8 Stream map example (new – November 2017)
- Java 8 Stream min and max method examples (new – November 2017)
- Java 8 Stream – anyMatch() example (new – November 2017)
- Java 8 Stream – allMatch() example (new – November 2017)
- Java 8 Stream – noneMatch() example (new – November 2017)
- Java8 StringJoiner, String.join() and Collectors.joining() Tutorial with all Details – 5 Different ways (new – November 2017)
- Performance With Java8 Streams (new – November 2017)
- Java 8 for Android Development: Stream API and Date & Time Libraries (new – November 2017)
- Merging Multiple Maps Using Java 8 Streams (new – November 2017)
- Java8 StringJoiner, String.join() and Collectors.joining() Tutorial with all Details – 5 Different ways (new – November 2017)
- Java 8 features – Stream API advanced examples (new – October 2017)
- Java 8 features – Stream API explained (new – October 2017)
- Java 8 – Stream Collectors Class with examples (new – October 2017)
- Java 8 Stream Filter with examples (new – October 2017)
- Java 8 Stream Map (new – October 2017)
- How to create a Stream in Java 8? (new – October 2017)
- Controlling parallelism level of Java parallel streams (new – October 2017)
- Java 8 Streams – Sequential vs Parallel streams (new – September 2017)
- Streaming MySQL Results Using Java 8 Streams (new – September 2017)
- Java 8 streams – List to Map examples (new – September 2017)
- Handling checked exceptions in Java streams (new – September 2017)
- Stream Count Number of Elements Example (new – September 2017)
- Convert IntStream to Collection/Array (new – September 2017)
- Java 8 Boxed Stream Example (new – September 2017)
- Java 8 Stream Distinct Examples (new – September 2017)
- Java 8 Streams – Timeout? (August 2017)
- Java.Util.Stream – Stream APIs Basics | Java8 (July 2017)
- Are Java 8 Streams Truly Lazy? Not Completely! (July 2017)
- A Java 8 Streams Cookbook (February 2017)
- Java 8: Accumulate the elements of a Stream using Collectors (February 2017)
- An Introduction to Functional Programming in Java 8: Part 3 – Streams (February 2017)
- Dipping Into Java 8 Streams (January 2017)
- Understanding Java 8 Streams Operations | Intermediate and Terminal Operations | Tutorial with examples (January 2017)
- Java – Read File Line by Line Using Java 8 Streams (January 2017)
- How to Filter Distinct Elements from a Collection in Java 8 (January 2017)
- Java 8 groupingBy Example (January 2017)
- Java 8 Stream (January 2017)
- How to Skip Elements with the Skip Method in Java 8 (January 2017)
- 3 Ways to Convert Java 8 Stream to an Array (January 2017)
- Introduction to java 8 stream api (Slide) (January 2017)
- Java 8 – Stream filter() method example (January 2017)
- Java 8 Stream limit & skip method Example (January 2017)
- Java 8 Convert List to Map using Streams API (January 2017)
- Controlling Parallelism of Java 8 Collection Streams (January 2017)
- Java 8: An Introduction to Streams (December 2016)
- Java 8: Converting An Array To A Stream (December 2016)
- Java 8 and Java EE 7: Parallel streams (December 2016)
- About the Java 8 Stream API Bug (December 2016)
- How to Deal with Java 8 Stream API (December 2016)
- Printing elements of a Stream in Java 8 (December 2016)
- Java 8 Streams : 10 missing features (November 2016)
- Streams in Java 8 (November 2016)
- Java 8 – How to ‘peek’ into a running Stream| Stream.peek method tutorial with examples (November 2016)
- Reactor 3.0, a JVM Foundation for Java 8 and Reactive Streams (November 2016)
- How to Read a File line by line using Java 8 Stream – Files.lines() and Files.newBufferedReader() Utils (November 2016)
- Exploring a directory with the Java 8 Stream API (November 2016)
- Java 8 Streams – Reduction (November 2016)
- Java 8 Stream Grouping (November 2016)
- PowerMock and Java8 Streams (November 2016)
- Functional Programming in Java 8 (with Lambdas and Streams) (Slide) (November 2016)
- Java 8: Lambda Expressions and Streams (November 2016)
- Using JDK 8 Streams to Convert Between Collections of Wrapped Objects and (October 2016)
- Collections of Wrapper Objects (October 2016)
- Introduction to Java 8 Streams (October 2016)
- Grouping using Java 8 streams (October 2016)
- Java 8 Stream filter() Example (October 2016)
- Java 8 Stream flatMap (October 2016)
- Java 8 Streams (October 2016)
- Java 8 Streams – Ordering (October 2016)
- Reading text files using the Stream API in Java 8 (October 2016)
- IntelliJ IDEA 2016.3 EAP Helps Migrate to Java 8’s Stream APIs (September 2016)
- Java 8 Stream Distinct Examples (September 2016)
- Java 8 Matching with Streams | allMatch, anyMatch, noneMatch methods tutorial with examples (September 2016)
- Exceptional Exception Handling In JDK 8 Streams (September 2016)
- Java 8 Stream.peek() Example to debug Stream (September 2016)
- Java 8 – Streams (September 2016)
- How to Read a File line by line using Java 8 Stream – Files.lines() and Files.newBufferedReader() Utils (September 2016)
- Java 8 Stream API: Part 1 (September 2016)
- Java 8 Stream API: Part 2 (September 2016)
- Java 8 Stream filter examples (September 2016)
- Java 8 java.time.temporal.TemporalAdjusters and Stream.flatMap() Tutorial (September 2016)
- Java 8 Stream collect() Example (September 2016)
- Java 8 Streams – Lazy evaluation (September 2016)
- Java 8 Streams – Short circuiting operations (September 2016)
- Parallel Streams in Java 8 Example (September 2016)
- Stream API in Java 8 Theory (video) (June 2016)
- In Java8 – How to Convert Array to Stream using Arrays.stream() and Stream.of() Operations (June 2016)
- Gotcha! Cartesian products of Java 8 streams (June 2016)
- Solving a parallel streams puzzler in Java 8 (June 2016)
- Rant – Java 8 streams are too little, too late (June 2016)
- Java 8 Stream API Example Tutorial (June 2016)
- How Java 8 Streams Work (video) (March 2016)
- How to Read a File line by line using Java 8 Stream – Files.lines() and Files.newBufferedReader() Utils (Feb 2016)
- Java 8 – Filter a Map examples (Feb 2016)
- Using Oracle AQ via Java 8 Streams (Feb 2016)
- From Arrays to Streams and Back with Java 8 (Nov 2015)
- How fast are the Java 8 Streams? (Nov 2015)
- Java 8 vs. Scala, Part II: the Streams API (Nov 2015)
- Benchmark: How Misusing Streams Can Make Your Code 5 Times Slower (Nov 2015)
- Java 8, Query Databases Using Streams (Oct 2015)
- Exploring Lambdas and Streams in Java 8 (Oct 2015)
- Side Effects and Java 8 Streams (Oct 2015)
- Java 8 Stream – Read a file line by line (Oct 2015)
- Acquiring OSGi Services in Java 8 (Sept 2015)
- Java 8 forEach examples (August 2015)
- Side effects and Java 8 streams (May 2015)
- JUnit: Testing Exceptions with Java 8 and AssertJ 3.0.0 (April 2015)
- A real-world example of refactoring with Java 8 streams (April 2015)
- How to Use Java 8 Streams to Swiftly Replace Elements in a List (April 2015)
- JDK 8 Streams and Grouping (March 2015)
- 5 ways to Convert Java 8 Stream to List – Example, Tutorial (March 2015)
- Walking Recursive Data Structures Using Java 8 Streams (March 2015)
- Java 8 streams API and parallelism (Feb 2015)
- Java 8 Stream API Operations and Lambda Expression Tutorial (Feb 2015)
- How to Filter Collections in Java 8 with Streams and Predicates (Feb 2015)
- Java 8 Streams API as Friendly ForkJoinPool Facade (Jan 2015)
- Fail-fast validations using Java 8 streams (Jan 2015)
- What is the difference between Collections and Streams in Java 8? (Jan 2015)
- Java 8 Stream and Lambda Expressions – Parsing File Example (Jan 2015)
- Stream-Powered Collections Functionality in JDK 8 (Jan 2015)
- Java8 Sorting – Performance Pitfall (Jan 2015)
— 2014 —
- Java 8 FlatMap Example (Dec 2014)
- Java 8 Streams and JPA (Dec 2014)
- Let’s Stream a Map in Java 8 with jOOλ (Oct 2014)
- When the Java 8 Streams API is not Enough (Sept 2014)
- Java 8 Collector for Gauva’s LinkedHashMultimap (Sept 2014)
- Iterating over collections in Java 8 (August 2014)
- Introduction to writing custom collectors in Java 8 (July 2014)
- Turning recursive file system traversal into Stream (July 2014)
- Lambdas and Streams in Java 8 (July 2014)
- Java 8 Stream Tutorial (July 2014)
- Java Parallel Streams Are Bad for Your Health! (July 2014)
- Java 8 Friday: 10 Subtle Mistakes When Using the Streams API (June 2014)
- Java 8 stream’s .min() and .max(): why does this compile? (April 2014)
- Java 8 Stream API Example Tutorial (April 2014)
- Java 8 Stream API Examples – Filter, Map, Max, Min, Sum, Average (April 2014)
- Java 8 Lambda Expressions & Streams (video) (April 2014)
- Java 8 Friday Goodies: SQL ResultSet Streams (March 2014)
- Java 8: Group by with collections (Feb 2014)
- 8 Cool Things About Java Streams (Feb 2014)
- JDK 8 3/3 – The Stream API (Feb 2014)
- Java 8 Streams API – Laziness and Performance Optimization (Jan 2014)
- Understanding Java 8 Streams API (Jan 2014)
— 2013 —
- Immutable List Collector in Java 8 (Nov 2013)
- Java 8 first steps with Lambdas and Streams (Oct 2013)
- Java 8 – Collection enhancements leveraging Lambda Expressions – or: How Java emulates SQL (Oct 2013)
- Java 8 Explained: Applying Lambdas to Java Collections (June 2013)
- Parallel Looping Constructs in Java (revisited) (March 2013)
- Java Infinite Streams (March 2013)
- Exciting ideas in Java 8: Streams (April 2012)
109 – Enhance Core Libraries with Lambda
JEP | Mailing List | JSR
Oracle/Official Resources
Resources
- Maurice Naftalin’s Lambda FAQ (2012-2013)
- Java 8 – Powerful Comparison with Lambdas (Dec 2013)
- Java Lambda Expressions Basics (April 2013)
- Why We Need Lambda Expressions in Java – Part 1 (March 2013)
- Why We Need Lambda Expressions in Java – Part 2 (April 2013)
- Java 8: The First Taste of Lambdas (Feb 2013)
126 – Lambda Expressions & Virtual Extension Methods
JEP | Mailing List | JSR | Project
Resources
- Everything You Need To Know About Default Methods (Jan 2015)
- Java 8 WTF: Ambiguous Method Lookup (Dec 2015)
- How your addiction to Java 8 default methods may make pandas sad and your teammates angry! (June 2014)
- Why is “final” not allowed in Java 8 interface methods? (June 2014)
- What is the reason why “synchronized” is not allowed in Java 8 interface methods? (May 2014)
- When is an interface with a default method initialized? (April 2014)
- Abstract Class Versus Interface in the JDK 8 Era (March 2014)
- Java 8 Default Methods and Multiple Inheritance (March 2014)
- Interface Default Methods in Java 8 (March 2014)
- Java 8 Default Methods Tutorial (Jan 2014)
- Trying Out Lambda Expressions in the Eclipse IDE (Aug 2013)
- Java 8 explained: Default Methods (June 2013)
- Introduction to Default Methods (Defender Methods) in Java 8 (March 2013)
- Groovy, Java 8 & Virtual Extension Methods (Oct 2012)
160 – Lambda-Form Representation for Method Handles
General Lambda Resources
- What About the Performance of Java 8 Lambdas? (new – February 2018)
- Using Java 8 Lambdas Efficiently (new – January 2018)
- Programming with Java 8 Lambdas and Streams (new – January 2018)
- Creating Stubs Using Java 8 Lambdas (new – January 2018)
- Rules while working with stream in Java 8 (new – December 2017)
- How to start working with Lambda Expressions in Java (new – December 2017)
- Java 8 Lambda: Comparator Example (new – December 2017)
- Java 8 lambda expression with an abstract class having only one method (new – December 2017)
- Lambda Expression in Java (new – November 2017)
- Java 8 Lambda – Listener Example (new – November 2017)
- Using Java 8 Lambda expressions for collections internal iteration (new – November 2017)
- A Quick Introduction to Java 8 Lambdas (new – November 2017)
- AWS Lambda in Java 8, log4j2 and scattered stack trace in CloudWatch (new – November 2017)
- Java 8 features – Lambda expressions, Interface changes, Stream API, DateTime API (new – October 2017)
- Java 8 Lambda Comparator example for Sorting List of Custom Objects (new – October 2017)
- Java 8 Lambdas vs Anonymous Classes (new – October 2017)
- How to use Lambda in Java 8? (new – October 2017)
- Java 8 features – Lambda expressions, Interface changes, Stream API, DateTime API (new – October 2017)
- Java 8 Lambda Comparator example for Sorting List of Custom Objects (new – October 2017)
- Java 8 Lambdas Vs Anonymous Classes (new – October 2017)
- How to use Lambda in Java 8? (new – October 2017)
- Java 8 Lambda Expressions – A Quick Revision (new – September 2017)
- Java 8 : How to sort a List using Stream or Lambda Expression (August 2017)
- How to Sort Map by values in Java 8 using Lambdas and Stream – Example Tutorial (July 2017)
- Tutorial Lambda expression and Stream API in Java 8 (November 2016)
- Java 8 Lambdas & Streams MOOC (July 2015)
- Java 8 Lambda : the very basics (July 2015)
- Java 8: Lambdas and Collection Handling (June 2015)
- Cheating with Exceptions – Java 8 Lambdas (April 2015)
- Java 8 Lambdas in One Line (April 2015)
- Java 8 – Re using Lambda Expressions (April 2015)
- Java 8 lambdas and the GC (April 2015)
- Using Java 8 Lambda expressions in Java 7 or older (Feb 2015)
- Exploring Lambda Expressions in Java (Feb 2015)
- What’s Stopping Me Using Java8 Lambdas – Try Debugging Them (Jan 2015)
— 2014 —
- Java 8 Lambda Expression Explained in 5 minutes (Oct 2014)
- Java 8 Lambdas – A Peek Under the Hood (Oct 2014)
- JUnit: testing exception with Java 8 and Lambda Expressions (August 2014)
- Java 8 Lambda Expressions Tutorial (July 2014)
- Java 8 Lambda Expressions by Examples (May 2014)
- Using Comparator becomes easier with lambda expressions [Java 8] (April 2014)
- What’s New in Java 8: Lambdas (April 2014)
- Reactive Programming Patterns in Akka using Java 8 (April 2014)
- Creating your own loop structure in Java 8 lambda (April 2014)
- Java 8 : Lambda Expressions (April 2014)
- How to process stream and read text file in Java 8 (April 2014)
- What I miss in Java 8 lambda functions (March 2014)
- The Dark Side Of Lambda Expressions in Java 8 (March 2014)
- First-class functions in Java 8 (video) (March 2014)
- Java 8 Friday: Java 8 Will Revolutionize Database Access (March 2014)
- Java 8 Friday Goodies: Lean Concurrency (March 2014)
- Simplifying ReadWriteLock with Java 8 and lambdas (March 2014)
- How to avoid ruining your world with lambdas in Java 8 (March 2014)
- Java 8, Haskell, FP and Monoids (March 2014)
- Java 8 Friday Goodies: Easy-as-Pie Local Caching (Feb 2014)
- Java 8 Friday Goodies: Local Transaction Scope (Feb 2014)
- Java 8: Sorting values in collections (Feb 2014)
- Lazy loading in Java 8! (Feb 2014)
- 10 Example of Lambda Expressions and Streams in Java 8 (Feb 2014)
- Java 8: Lambda Expressions vs Auto udseable (Feb 2014)
- Java 8 Friday Goodies: Map Enhancements (Feb 2014)
- Java 8 Friday Goodies: Lambdas and SQL (Feb 2014)
- Java 8′s Lambda expressions (Feb 2014)
- Java 8 Lambda Expressions Tutorial with Examples (Jan 2014)
- Java 8 Friday Goodies: Lambdas and Sorting (Jan 2014)
- Java 8 Friday Goodies: The New New I/O APIs (Jan 2014)
- Java 8 Friday Goodies: Lambdas and XML (Jan 2014)
- Java 8 Friday Goodies: java.io finally rocks! (Jan 2014)
- Compiling Lambda Expressions: Scala vs. Java 8 (Jan 2014)
- Builder pattern using Java 8 (Jan 2014)
— 2013 —
- :: (double colon) operator in Java 8 (Nov 2013)
- Java 8 first steps with Lambdas and Streams (Oct 2013)
- Java 8 Revealed: Lambdas, Default Methods and Bulk Data Operations (June 2013)
- Maurice Naftalin’s Lambda FAQ
- Manning – Java 8 Lambdas in Action (book)
— Language (core/lang) —
104 – Annotations on Java Types
JEP | Mailing List | Project | JSR
Oracle/Official Resources
- Type Annotations (JSR 308) and the Checker Framework
- Type annotations FAQ
- JSR 308 Google Group
- Official Tutorial – Type Annotations and Pluggable Type Systems
Resources
- JSR 308 Explained: Java Type Annotations (April 2014)
- Java 8 Type Annotations (Feb 2014)
- Eclipse Support for JSR 308 – Open Issue (2009-2013)
- When Should You Jump? JSR 308. That’s When. (2008)
105 – DocTree API
106 – Add Javadoc to javax.tools
JEP | Mailing List | JSR
117 – Remove the Annotation-Processing Tool (apt)
JEP | Mailing List | JSR
Resources
- An apt ending draws nigh (Dec 2011)
118 – Access to Parameter Names at Runtime
JEP | Mailing List | JSR
Resources
120 – Repeating Annotations
JEP | Mailing List | JSR | JDK Bug
Oracle/Official Resources
- Official Tutorial
- Eclipse Support for JEP 120 – Fixed Issue (2013)
- Repeating annotations in the works (Mar 2012)
Resources
- JavaOne Monday: Enhanced Java SE 8 Metadata (Sept 2013)
- Subtle Changes in Java 8: Repeatable Annotations (May 2013)
- Annotation Features in JDK 8 (video) (Dec 2012)
- Java 8 Features: Discover Repeating Annotations (Sept 2012)
139 – Enhance javac to Improve Build Speed
Oracle/Official Resources
Resources
- sjavac: Smart javac wrapper (2013)
172 – DocLint
Resources
182 – Policy for Retiring javac -source and -target Options (DROPPED)
Oracle/Official Resources
— Libraries (core/libs) —
102 – Process API Updates
103 – Parallel Array Sorting
JEP | Mailing List | JSR | JDK Bug
Resources
- Java 8 Parallel Arrays Example (August 2014)
- New Parallelism APIs in Java 8: Behind The Glitz and Glamour (April 2014)
- Java 8 – Parallel Array Sorting (July 2013)
- Arrays.sort versus Arrays.parallelSort (April 2013)
- On StackOverflow – Difference between Arrays.sort() and Arrays.parallelSort() (Jun 2013)
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
JEP | Mailing List | JDK Bug
Oracle/Official Resources
135 – Base64 Encoding & Decoding
Resources
- Base64 Encoding in Java 8 (Nov 2013)
- Base64 encoding and decoding performance (Dec 2013)
149 – Reduce Core-Library Memory Usage
150 – Date & Time API
JEP | Mailing List | Project | JSR
Oracle/Official Resources
- Java SE 8 Date and Time
- Official Tutorial – Date-Time API
- JavaOne 2013: JDK 8 Date and Time APIs
- Previous Project Homepage on Github
Resources
- Java 8 – 20 Examples of Date and Time API (March 2015)
- Java 8 Date Time API Example Tutorial – LocalDate, Instant, LocalDateTime, Parse and Format (April 2014)
- What’s new in Java 8 – Date API (March 2014)
- A deeper look into the Java 8 Date and Time API (Feb 2014)
- It’s About Time (Jan 2014)
- Java 8 Date Time: Happy Martin Luther King Day (Jan 2014)
- Java 8 Date and Time API with Jim Gough (video) (Jan 2014)
- Introduction to JSR 310 Part 3 : Overview of new Java Date and Time API (Jan 2014)
- Java 8 APIs: java.util.time – Instant, LocalDate, LocalTime, and LocalDateTime (July 2013)
- Date and Time API changes in Java 8 (Lambda) (May 2013)
- Introduction to JSR 310 Part 2 : Overview of Joda Time API (April 2013)
- Articles about ThreeTen (2013)
- A new Date and Time API for JDK 8 (Sept 2012)
151 – Compress Time-Zone Data (Superseded by JEP 150)
154 – Remove Serialization (Withdrawn)
155 – Concurrency Updates
JEP | Mailing List | JSR
Oracle/Official Resources
Resources
- Java 8 Concurrency Tutorial: Atomic Variables and ConcurrentMap (May 2015)
- Java 8 Concurrency Tutorial: Synchronization and Locks (April 2015)
- Java 8 Concurrency Tutorial: Threads and Executors (April 2015)
- Java 8 StampedLocks vs. ReadWriteLocks and Synchronized (May 2014)
- JVM concurrency: Java 8 concurrency basics (April 2014)
- Is Java 8 the fastest JVM ever? Performance benchmarking of Fork-Join (March 2014)
- Java 8 Part 4 – Concurrency, TLS SNI, and PermGen (Dec 2013)
- Java 8 Concurrency: LongAdder (May 2013)
- JDK 8 backported ConcurrentHashMaps in Infinispan (March 2012)
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
Resources
180 – Handle Frequent HashMap Collisions with Balanced Trees
JEP | Mailing List | JDK Bug
Oracle/Official Resources
— Networking (core/net) —
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
Oracle/Official Resources
- [MS-SFU]: Kerberos Protocol Extensions: Service for User and Constrained Delegation Protocol
- Java Generic Security Services and Kerberos
114 – TLS Server Name Indication (SNI) Extension
JEP | Mailing List | JDK Bug
Oracle/Official Resources
- JDK 8 Security Enhancements
- Server Name Indication (SNI) Extension section in the JSSE Reference Guide
- The javax.net.ssl JavaDoc
115 – AEAD CipherSuites
116 – Extended Validation Certificates
121 – Stronger Algorithms for Password-Based Encryption
JEP | Mailing List | JDK Bug
Oracle/Official Resources
123 – Configurable Secure Random-Number Generation
124 – Enhance the Certificate Revocation-Checking API
JEP | Mailing List | JDK Bug
Oracle/Official Resources
- JDK 8 Security Enhancements
- JEP 124: Enhance the Certificate Revocation-Checking API
- JEP 124 Review – Official ReadMe
- Java PKI Programmer’s Guide – the new PKIXRevocationChecker
129 – NSA Suite B Cryptographic Algorithms
JEP | Mailing List | JDK Bug
Oracle/Official Resources
- NSA Suite B Cryptography
- Java Cryptography Architecture – Standard Algorithm Name Documentation for JDK 8
- Java Cryptography Architecture – Oracle Providers Documentation for JDK 8
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
166 – Overhaul JKS-JCEKS-PKCS12 Keystores
General Security Resources
Oracle/Official Security Resources
- JDK 8 will use TLS 1.2 as default (Jan 2014)
- JDK 8 Security Enhancements
- Java Cryptography Architecture – Standard Algorithm Name Documentation for JDK 8
- Java Cryptography Architecture – Oracle Providers Documentation for JDK 8
- JDK 8 PKCS#11 Reference Guide
- Secure Coding Guidelines for the Java Programming Language, Version 4.0
Security Resources
- Significant SSL/TLS improvements in Java 8 (March 2014)
— JVM – Garbage Collection (vm/gc) —
122 – Remove the Permanent Generation
Oracle/Official Resources
- Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide
- OpenJDK Discussion Thread – PermGen Elimination project is promoting
Resources
- Will Java 8 Solve PermGen OutOfMemoryError? (March 2013)
- Java 8: From PermGen to Metaspace (Jan 2013)
132 – More-prompt finalization (DROPPED)
Oracle/Official Resources
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)
Resources
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
Oracle/Official Resources
General Garbage Collection Resources
- Garbage Collectors – Serial vs. Parallel vs. CMS vs. G1 (and what’s new in Java 8) (Sept 2014)
- Garbage Collection Optimization for High-Throughput and Low-Latency Java Applications (July 2014)
- Java 8 Garbage Collectors (Aug 2013)
— 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
Oracle/Official Resources
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)
JEP | Mailing List
Resources
146 – Improve Fatal Error Logs (DROPPED)
169 – Value Objects (DROPPED)
Oracle/Official Resources
- larval objects in the VM
- value types in the vm
- Project Readme – Infrastructure for immutable objects, in support of value types
Resources
- Keynote: The Value of Values (Aug 2012)
— Core (–/–) —
138 – Autoconf-Based Build System
161 – Compact Profiles
Oracle/Official Resources
- An Introduction to Java 8 Compact Profiles
- Compact Profiles Demonstrated
- Java SE 8 – Early Draft Review Specification – Profiles
Resources
162 – Prepare for Modularization
JEP | Mailing List | Project
Oracle/Official Resources
Resources
- Jigsaw, Second Cut (Aug 2013)
164 – Leverage CPU Instructions for AES Cryptography
174 – Nashorn JavaScript Engine
JEP | Mailing List | JSR | Project
Oracle/Official Resources
- Java Platform, Standard Edition Nashorn User’s Guide
- Oracle Java Platform, Standard Edition Java Scripting Programmer’s Guide
- Official Nashorn Oracle Blog
- OpenJDK Nashorn Wiki
- Wikipedia Entry – Nashorn
Resources
- Understanding the new Nashorn (Oct 2014)
- Java 8 Friday: JavaScript goes SQL with Nashorn and jOOQ (June 2014)
- Java 8 Nashorn Tutorial (April 2014)
- Java 8: Compiling Lambda Expressions in The New Nashorn JS Engine (Feb 2014)
- JavaScript for the JVM – say hello to Nashorn! (video) (April 2013)
- Project Nashorn: JavaScript’s Second Chance on the JVM (Dec 2012)
- JVM JavaScript engine Nashorn open sourced (Nov 2012)
175 – PowerPC/AIX Port
JEP | Mailing List | Project
Oracle/Official Resources
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)
Oracle/Official Resources
153 – Launch JavaFX Applications (core/–)
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
- Unleashing the Java 8 Tooling in Eclipse (video) (Oct 2015)
- Java 8 Eclipse Templates (Oct 2015)
- Oracle’s Java 8 Update 65 – The return of the Java install application (new – Oct 2015)
- Eclipse Neon (Eclipse 4.6) will require a Java 8 runtime (August 2015)
- Eclipse Support for Java 8 (March 2014)
- Building and Running Java 8 Support (Feb 2014)
- Java 8 Support in Eclipse (Jan 2014)
- JDT/Eclipse Java 8 Support (BETA)
- Overview of JDK 8 Support in NetBeans IDE
Other Official/Oracle Java 8 Resources
- JDK 8 Massive Open and Online Course: Lambdas and Streams Introduction
- How can Java users confirm they are not affected by the SSL V3.0 POODLE (CVE-2014-3566) vulnerability?
- Java 7 Auto-Update to Java 8
- Known Issues for JDK 8
- Java SE 8 – Early Draft Review Specification
- Java version history – Wikipedia Entry
- Eclipse Wiki – JDT Java 8 Support
- Jigsaw prototype, take 2 (on mailing list)
Other Semi-Official Oracle Java 8 Resources
- Announcing: JDK 8 MOOC: Lambdas and Streams, December 2nd! (November 2016)
- Java 8 Release Highlights (October 2016)
- JavaOne 2016: Refactoring Your Code with Java 8 Functional Programming [UGF7875] (September 2016)
- Accelerating Java Streams with the SPARC Data Analytics Accelerator (September 2016)
- CompletableFuture for Asynchronous Programming in Java 8 (March 2016)
- Survey Results – Java 8, Spring 4 and Spring Boot Adoption (May 2015)
- Oracle to end publicly available security fixes for Java 7 this month (April 2015)
Other General Java 8 Resources
- How To Install Oracle Java JDK8 on Ubuntu 16.04 / 17.10 / 18.04 Desktops (new – March 2018)
- Quickstart for Java 8 for App Engine Standard Environment (new – March 2018)
- How to Install JAVA 8 on Ubuntu 16.04/14.04, LinuxMint 18/17 (new – March 2018)
- Java 8 Optional use cases (new – March 2018)
- Java 8: Bastion of Long-term Support (new – February 2018)
- Mapping Java 8 Date/Time entity attributes with Hibernate (new – February 2018)
- How do I update the Java Development Kit (JDK) version? (new – February 2018)
- Oracle extends Java JDK 8 updates to 2019 (new – February 2018)
- Java 8 Runtime Environment (new – February 2018)
- What is Functional interface in Java 8 (new – January 2018)
- Java 8 Consumer and Supplier Example (new – January 2018)
- Java 8 forEach (new – January 2018)
- Difference between Java 7 and Java 8 (new – January 2018)
- Java 8: Oogway’s Advice on Optional (new – January 2018)
- Java Default Methods (new – December 2017)
- Base64 encoding and decoding in Java 8 (new – December 2017)
- Java 8 – The Bad Parts (new – December 2017)
- Functional Interfaces in Java 8 (new – November 2017)
- “Hello world” example of Futures in Java 8 (new – October 2017)
- Java 8 – Get Current Date and Time (new – September 2017)
- Java 8 Distinct Example (new – September 2017)
- Concatenating Strings in Java 8 (August 2017)
- Java 8 List All Files In Directory Example (August 2017)
- Think Async in Java 8 by Dmitry Aleksandrov (video) (August 2017)
- How to create a thread-safe ConcurrentHashSet in Java 8? (August 2017)
- Iterate Over A List or Set in Java 8 (August 2017)
- What’s new in Java EE 8 (August 2017)
- Oracle considers moving Java EE to an open source foundation (August 2017)
- Java Blocking Queues Explained! (August 2017)
- Iterate through a Map in Java (July 2017)
- Java 8 CompletableFuture Tutorial (July 2017)
- Embracing Java 8 language features (July 2017)
- Introduction to functional programming in Java (July 2017)
- Adapters in Java 8 (July 2017)
- Java Data and Time API in Java 8 – Tutorial (July 2017)
- What is Java Garbage Collection? How It Works, Best Practices, Tutorials, and More (July 2017)
- Basic Usage of Functional Interface in Java 8 (July 2017)
- Java 8 forEach tutorial (July 2017)
- Java Thread Synchronization, Deadlocks and Volatile Variables (July 2017)
- How to Tune Java Garbage Collection (July 2017)
- Java EE 8 – The Next Frontier. SouJava Interview with Ruslan Synytsky (video) (July 2017)
- DSLs with the Free Monad in Java 8 : Part I (July 2017)
- Reading and writing files in Java (Input/Output) – Tutorial (July 2017)
- How to Sort a HashMap by Key and Value in Java 8 – Complete Tutorial (July 2017)
- Writing a custom spliterator in Java 8 (July 2017)
- Java 8 Method References with Example (June 2017)
- Java Regex as Predicate using Pattern.compile() Method (June 2017)
- Take advantage of Java 8: The change is very much worth it (March 2017)
- Android switches to native Java 8 support (March 2017)
- How to Dial and Answer Phone Calls with Spark and Java 8 in IntelliJ (March 2017)
- Functional Programming in Java 8 (Part 2): Optionals (February 2017)
- Java 8 Optional In Depth (February 2017)
- How to Use the Comparator.comparing Method in Java 8 (January 2017)
- SpringOne Platform 2016 Replay: Reactor 3.0, a JVM foundation for Java 8 and Reactive Streams (January, 2017)
- Java 8 – Lazy argument evaluation (January, 2017)
- Days Between Dates in Java 8 (January, 2017)
- The Advantages of Functional Programming in Java 8: Converter pattern (January, 2017)
- Exploring Reactive Integrations in Java 8 with Akka Streams, Alpakka and Kafka (January, 2017)
- How to Iterate Through Map and List in Java? Example attached (Total 5 Different Ways) (January 2017)
- Java 8: New features in ConcurrentHashMap (January 2017)
- Install Oracle Java 8 on Manjaro 16.10 (December 2016)
- Java 8 – Working with LocalDate, LocalTime, LocalDateTime – tutorial with examples (December 2016)
- IntelliJ IDEA Inspection Settings for Refactoring to Java 8 (December 2016)
- Java 8 Language Features on Android (December 2016)
- Java 8 – TemporalAdjusters examples (November 2016)
- Java 8 – Period and Duration examples (November 2016)
- Java 8 Features Supported by Spring 4 (November 2016)
- Tutorial: Migrating to Java 8 (November 2016)
- IntelliJ IDEA 2016.3 GA: Java 8 and ES6, Debugger and UI improvements, and a Ton More (November 2016)
- Scala Overhauls Compiler, Aligns with Java 8, in Latest Release (November 2016)
- Optionals in Java 8 and how to use them (November 2016)
- Merging nested Lists or Arrays with Java 8 (November 2016)
- Scala upgrade brings closer alignment with Java 8 (November 2016)
- Refactoring to Java 8 by Trisha Gee (video) (November 2016)
- Deploy Java 8 Spring Boot API to Azure App Service (November 2016)
- Use Java 8 Language Features (November 2016)
- How Many “Util”(-ities) Classes Ship With Java 8? (November 2016)
- Java 8 range of numbers (November 2016)
- The Java 8 Runtime (November 2016)
- Java 8 Comparator – How to sort a List (November 2016)
- Why Java 8? (October 2016)
- What’s Wrong in Java 8, Part IVWhat’s Wrong in Java 8, Part IV: Monads (October 2016)
- Think Twice Before Using Java 8 Parallel Streams (October 2016)
- Functional Programming with Java 8 Functions (October 2016)
- Java 8 CompletableFuture Example (October 2016)
- Fresh EAP with Refactorings to Java 8, Better VCS and Gradle Integrations (October 2016)
- Java 8 programming for beginners: Go from zero to hero (October 2016)
- User Authentication in Java 8 (October 2016)
- Java SE 8 Update 111 (64-bit) (October 2016)
- Java 8 – Iterable.forEach, Iterator.remove methods tutorial with examples (October 2016)
- The Java 8 Runtime (October 2016)
- Java 8 reduce by example (October 2016)
- Java SE 8.0.112 (October 2016)
- java8 Puppet Module (October 2016)
- Java 8: A Closer Look at Speedment 3.0.1 “Forest” Stream ORM (October 2016)
- Ready your Java 8 Reactive apps now, Reactor 3.0 GA is out ! (September 2016)
- Applying Java 8 Idioms to Existing Code (video) (September 2016)
- Interface-based applications in Java 8 (September 2016)
- Java 8 – Functional Interfaces (September 2016)
- Java 8 – Environment Setup (September 2016)
- Vaadin Framework 8 comes with Java 8 native APIs (September 2016)
- The Advantages of Functional Programming in Java 8: Converter pattern (September 2016)
- API Design with Java 8 (September 2016)
- A Funny Thing Happened on the Way to Java 8 (September 2016)
- Functional programming in Java 8, Kotlin and Scala (September 2016)
- Making Java 8 Groovier: A few annotated examples (September 2016)
- Java 8 Puzzlers: The Strange, the Bizarre, and the Wonderful with Baruch Sadogursky and Viktor Gamov (September 2016)
- Java EE 8 Update (video) (September 2016)
- Asynchronous timeouts with CompletableFutures in Java 8 and Java 9 (September 2016)
- Running Adobe Flash Builder on Mac with Java 7/8 (September 2016)
- The Ingredients and Roadmap of Rebooted Java EE 8 and 9 (September 2016)
- Compiling with Java 8 in Bluemix (September 2016)
- Java 8 in 9.0.1FP7? Not likely. (September 2016)
- Functional data structures with Java 8 [Devoxx Poland`16] (June 2016)
- Applying java 8 idioms to existing code – trisha gee – qcon (June 2016)
- Many improvements in Java 8 API for Akka (June 2016)
- Java 8: CompletableFuture vs Parallel Stream (June 2016)
- Java 8: Default Method Resolution Rules (June 2016)
- Solving a parallel streams puzzler in Java 8 (June 2016)
- Java 8 Optional – Replace your get() calls (June 2016)
- Java 8 Interface Changes – static method, default method (June 2016)
- Java 8 Features with Examples (June 2016)
- Reactor Core 2.5 becomes a unified Reactive Foundation on Java 8 (March 2016)
- Java 8 Factorial (Feb 2016)
- (Ab)using Java 8 FunctionalInterfaces as Local Methods (Feb 2016)
- Transforming Code to Java 8 (video) (Jan 2016)
- Java 8 Best Practices Cheat Sheet ( Dec 2015)
- Java 8: The JVM Can Re-capture Objects That Have Escaped (Dec 2015)
- Java 8 vs. Scala: Part I (Nov 2015)
- Why Java 8? (Oct 2015)
- Write Infinite FizzBuzz Sequence in Java 8 (Oct 2015)
- Java 8: Composing functions using compose and andThen (Sept 2015)
- JDK 8 Lambdas MOOC Course (video) (Sept 2015)
- Java SE 8 in Practice (Sept 2015)
- How to use Java 8 Functional Programming to Generate an Alphabetic Sequence (Sept 2015)
- Comparing Imperative and Functional Algorithms in Java 8 (Sept 2015)
- Java 8 Lambda Expression for Design Patterns – Command Design Pattern (Sept 2015)
- Java 8 SE Optional, a strict approach (August 2015)
- String concatenation with Java 8 (August 2015)
- 4 things to make your Java 8 code more dynamic (August 2015)
- Java SE 8 Optional, a pragmatic approach (August 2015)
- Top 10 Useful, Yet Paranoid Java Programming Techniques (August 2015)
- Java 8 Effect Fuels Rise in Popularity of Language (August 2015)
- Bug Killing Java Release 8u60 Now Available (August 2015)
- Presentation: Pragmatic Functional Refactoring with Java 8 (August 2015)
- Oracle patches already-exploited Java zero-day flaw, over 190 other vulnerabilities (– July 2015)
- What is the fastest Garbage Collector in Java 8? (July 2015)
- Let’s Get to the Rapids: Java 8 Stream Performance (July 2015)
- Casting In Java 8 (And Beyond?) (July 2015)
- Java 8’s Method References Put Further Restrictions on Overloading (new – July 2015)
- More compact Mockito with Java 8, lambda expressions and Mockito-Java8 add-ons (June 2015)
- Functional Features in Java 8 (June 2015)
- Spring Guides Move to Java 8 (June 2015)
- Java 8 speeds you up, slows you down (June 2015)
- Why Even Use Java 8 Optional? (May 2015)
- Java 8: Replace traditional for loops with IntStreams (May 2015)
- Java 8 in Anger (video) (May 2015)
- Java 8 Parameter Names and Dogfooding (May 2015)
- Functional Programming in Java 8 with Javaslang (May 2015)
- Upgrading to Java 8 at Scale (April 2015)
- Java 8: Take your abstractions to the next level (April 2015)
- Using Rhino with Java 8 (April 2015)
- Functional-Style Callbacks Using Java 8’s CompletableFuture (April 2015)
- Java 8 lambdas and the GC (April 2015)
- How Spring achieves compatibility with Java 6, 7 and 8 (April 2015)
- FizzBuzz Solution in Java 8 (April 2015)
- Java 8u40 brings improved memory management and JavaScript support (March 2015)
- Avoid Recursion in ConcurrentHashMap.computeIfAbsent() (March 2015)
- Avoiding Null Checks in Java 8 (March 2015)
- 10 Java Articles Everyone Must Read (March 2015)
- One Year After Java 8’s Release, IDEs and Compilers are not Fully Ready Yet (March 2015)
- Java 8 Method References explained in 5 minutes (Feb 2015)
- In Defence of Java 8’s Optional: Why and How to Use It (Feb 2015)
- Being Functional with Java 8 Interfaces and JRebel (Feb 2015)
- SpringOne2GX 2014 Replay: Groovy, in the light of Java 8 (video) (Feb 2015)
- Spring Framework 4 and Java 8 (Jan 2015)
- Java 8 – on the path to improving developer sanity (Jan 2015)
- Java 8 Auto-Update, Java 7 End of Public Update (Jan 2015)
- How to Translate SQL GROUP BY and Aggregations to Java 8 (Jan 2015)
- Silently Install Java 8 Update 31 (Jan 2015)
- Java Patch Plugs 19 Security Holes (Jan 2015)
- Java 8: No more loops (Jan 2015)
- Using Optional Effectively in Java 8 (Jan 2015)
- What Are the Most Important New Features in the Java 8 Release? (Jan 2015)
— 2014 —
- Asynchronous timeouts with CompletableFuture (Dec 2014)
- Todd Montgomery Discusses Java 8 Lambdas and Aeron (video) (Dec 2014)
- The 6 biggest problems of Java 8 (new – Nov 2014)
- Java 8 for Financial Services (new – Nov 2014)
- First Java 8 Experience (new – Nov 2014)
- Java 8 adoption rate higher than expected (Oct 2014)
- Developers Are Adopting Java 8 In Droves (Oct 2014)
- Survey of More Than 3,000 Developers Reveals Java 8 Adoption Ahead of Previous Forecasts (Oct 2014)
- Can anything slow the Java 8 train? (Oct 2014)
- Named Parameters in Java 8 (Oct 2014)
- Calling Java 8 functions from Scala (Oct 2014)
- Joining Strings With Delimiter Using StringJoiner Class In Java 8 (Oct 2014)
- The Next Wave of Enterprise Performance with Java, POWER Systems and NVIDIA GPUs (Oct 2014)
- Do it in Java 8: The State Monad (Oct 2014)
- Four reasons to stick with Java, and four reasons to dump it (Sept 2014)
- String Deduplication – A new feature in Java 8 Update 20 (August 2014)
- Java 8 functional interfaces (August 2014)
- Java vs. Scala: Divided We Fail (August 2014)
- 6 Reasons Not to Switch to Java 8 Just Yet (July 2014)
- Java 8 Friday: The Best Java 8 Resources – Your Weekend is Booked (June 2014)
- Java 8 Friday: Most Internal DSLs are Outdated (May 2014)
- Do it in Java 8: recursive and corecursive Fibonacci (May 2014)
- Java 8 Friday: Better Exceptions (May 2014)
- Java 8 Friday: API Designers, be Careful (May 2014)
- Java 8 Features – The ULTIMATE Guide (May 2014)
- Java 8 Friday: Language Design is Subtle (May 2014)
- Java 8 Friday: Let’s Deprecate Those Legacy Libs (May 2014)
- Why There Is Interface Pollution in Java 8 (April 2014)
- HashMap performance improvements in Java 8 (April 2014)
- 10 Features in Java 8 You Haven’t Heard Of (April 2014)
- Java 8 Friday: No More Need for ORMs (April 2014)
- Making Apache Spark Easier to Use in Java with Java 8 (April 2014)
- Java 8 Lambda Expressions and Functional Interfaces Example Tutorial (April 2014)
- Java 8 language changes (April 2014)
- Java 8 Friday: The Dark Side of Java 8 (April 2014)
- 15 Must Read Java 8 Tutorials (April 2014)
- An Embedded Java 8 Lambda Expression Microbenchmark (April 2014)
- How much faster is Java 8? (March 2014)
- 8 Reasons To Love Java 8 (March 2014)
- 5 Features In Java 8 That WILL Change How You Code (March 2014)
- Java 8 Tutorial (March 2014)
- JavaSE 7,8: Determining Views Supported by a Particular File System (March 2014)
- Java And Scala: Former Competitors May Be BFFs Before Long (March 2014)
- What’s New in Java 8 (book) (March 2014)
- Spring on Java 8 (video) (Feb 2014)
- What migrating to Java 8 will do to your codebase–a practical example (Feb 2014)
- Java 8 Tutorial Through Katas: Berlin Clock (Easy) (Feb 2014)
- vJUG session with Simon Ritter: “55 New Features in Java SE 8” (video) (Feb 2014)
- No need to wait – Java 8, it’s great (Jan 2014)
- Java 8 Cheatsheet
— 2013 —
Leave a Reply