Local Variable Type Inference in Java 10

One handy feature that made the cut in JDK 10 release train is Local-Variable Type Inference (JEP-286). This language feature is part of project Amber, a successor to Project Coin 🙂 With more frequent releases planned for the Java platform, we could expect to see 2 feature releases this year, so March release will be … Continue reading Local Variable Type Inference in Java 10

Private interface methods in Java 9

Starting in JDK 9 build 54, compiler support for private interface methods have been resurrected. This was one feature that was planned for Java 8 and did not make the final cut. It is now part of JEP 213. The primary motivation for this proposal is to enable code sharing between non abstract methods in … Continue reading Private interface methods in Java 9

Parallel Looping Constructs in Java (revisited)

Two years ago, I blogged about parallel for each construct using a very early version of lambda prototype compiler. At that time, Data Parallelism was already available in C# TPL, but Java designers were hard at work in bringing this idiom to Java. https://gist.github.com/aruld/4949503 Lambda expressions support in Java 8 is here for everyone to … Continue reading Parallel Looping Constructs in Java (revisited)

Java 8 – This ain’t your grandpa’s Java

Java 8 adds support for bulk data operations (JEP 107) in the Collections library. It is unlikely every forms of bulk data operations will be added to the retrofitted Collections framework, but the language designers are making every possible effort in accommodating general use cases of "filter/map/reduce for Java". Libraries should make use of parallelization … Continue reading Java 8 – This ain’t your grandpa’s Java

Lambda expressions in Java 8 adopts C# style syntax

Almost a year later since publishing the original Lambda proposal, JSR 335 EG has finally decided to adopt C# style syntax for Java 8 Lambda expressions. Brian has outlined the formal model for the new C# style syntax in his mail to lambda-dev: lambda = ArgList Arrow Body ArgList = Identifier | "(" Identifier [ … Continue reading Lambda expressions in Java 8 adopts C# style syntax

Annotation type to reduce varargs warnings available in b123, Java 7 Coin minting done?

The improved varargs warnings, part of the Coin proposal finally made into the latest JDK 7 build. I believe build 123 is special as this milestone marks the completion of all the planned JSR 334 features (the head side of the Coin) scheduled for implementation in Java SE 7. So, Coin minting done? I think … Continue reading Annotation type to reduce varargs warnings available in b123, Java 7 Coin minting done?

Parallel Looping Constructs in Java: Lambda expressions to the rescue?

Last November, Mark Reinhold announced that Closures will be added to the Java language and six months later we had an initial prototype based on the Straw-Man proposal and last month's update was considered a significant progress for the language in years. As mentioned in Mark's post, "Working with parallel arrays in Java, unfortunately, requires … Continue reading Parallel Looping Constructs in Java: Lambda expressions to the rescue?