Java Weekly 43/15: JDK9 Modules, Reusability and Lambdas
Thorben Janssen is back with this week’s Java news featuring a new issue of the Java Specialists Newsletter, Mark Reinhold’s latest Java 9 article and some important skills for all the software architects out there. Check out the hottest Java links and more for the week.
This post originally appeared on Thorben Janssen’s Java EE blog, where Java news is published weekly: thoughts-on-java.org.
Heinz Kabutz published a new issue of his Java Specialists’ Newsletter. This time he has a look at intersection types which can be used to define a target type for a Lambda expression that implements multiple interfaces at once: Intersection Types to give Lambdas Multiple Personalities.
But what I like even more is Heinz’s Lambda Reduction Principle. Method references are sooo much easier to read!
Bruce Eckel wrote an interesting post about Lambda expressions in which he discussed whether Lambda expressions are closures or not. Well, they can have closure behaviour and the compiler will tell you if they haven’t. Find out more in: Are Java 8 Lambdas Closures?
Mark Reinhold published an article about the state of the module system in which he explains the goals of modularisation and how they want to achieve them. Everyone interested in Java 9 should read this article.
Java EE 8
The work on the JAX-RS specification is taking up speed to create the first EDR within the next few months. Santiago Pericasgeertsen created a pull request with proposals for the Rx, NIO and SSE features that are currently discussed on the mailing list: Drafts for Rx, NIO and SSE.
This and that
What do you think is the most important skill for software architects? Arian Celina says it’s communication skills and explains in his recent blog post why he thinks this is way more important than knowing UML or OOP design: The most important skill for Software Architects.
Creating reusable components is not an easy task and requires additional effort. Based on Uwe Friedrichsen’s estimation, it takes about 5 times as long as creating a non-reusable solution. So you should always ask yourself if the component you are currently working on will be used at least 5 times. For most of them, this will not be the case. That’s one of the reasons why Uwe suggests to aim for replaceability instead of reusability and make the component reusable as soon as you use it often enough: The broken promise of re-use.
Did you watch Nitsan Wakart’s vJUG session “Java Profiling from the Ground Up”?
Don’t worry if you missed it. Oleg Shelajev published a recording of the session, a nice write-up about it and a short interview with Nitsan on the RebelLabs blog: Java Profiling from the Ground Up by Nitsan Wakart.