The first release candidates of Java 8, b128 and Java 8 RC2 showed up on February, fixing a serious flaw in the new Comparator API, where its new
thenComparing() method had an unnecessary type restriction. The
thenComparing() method of
java.util.Comparator does not require that type
java.lang.Comparable, since keyComparator is used to compare extracted key objects. Java 8 RC2 release also fixed a read permission issue on Mac OS X.
A few thoughs about the new release that is coming on March are presented in Java 8 News: Release Candidates Available, New Atomic Numbers and Stripped Implementations Dropped.
New Atomic Number Implementations
Apart from Java 8′s Lamdas and new Date and Time API, the atomic number implementations are very important. According to Drew Stephens, Principle at Palamino Labs, Java 8′s atomic number implementations are quite faster. The
DoubleAdder are proved to be less flashy, but very important to certain classes of multithreaded applications. They are atomic Number implementations that provide superior performance to
AtomicLong when under contention from multiple threads.
As Drew showed,
AtomicLong may be a bit quicker with single threads, but as threads’ number rises
LongAdder becomes much quicker.
Stripped Implementations Dropped
Stripped implementations is a proposed feature for Java 8 that allows customized implementations of Java SE to be packaged with applications that run on it. Mark Reinhold has proposed that Stripped Implementations could be dropped from Java SE 8. As he explained the Stripped Implementations feature of Java SE 8 requires some nontrivial changes to the TCK license, that will take a lot of time. So they could drop the Stripped Implementations feature from Java SE 8. This will only require changes to the Specification and to the TCK rules. Though, he believes that Stripped Implementation is important to the future of the Java platform, and that’s why it should be added in a release prior to Java SE 9.Related Whitepaper:
Bulletproof Java Code: A Practical Strategy for Developing Functional, Reliable, and Secure Java Code
Use Java? If you do, you know that Java software can be used to drive application logic of Web services or Web applications. Perhaps you use it for desktop applications? Or, embedded devices? Whatever your use of Java code, functional errors are the enemy!
To combat this enemy, your team might already perform functional testing. Even so, you're taking significant risks if you have not yet implemented a comprehensive team-wide quality management strategy. Such a strategy alleviates reliability, security, and performance problems to ensure that your code is free of functionality errors.Read this article to learn about this simple four-step strategy that is proven to make Java code more reliable, more secure, and easier to maintain.