Annotated Java Monthly, April 2014
Java developers have been busier than ever this April, and here at JetBrains, we’ve noticed! Each month, we’re excited to bring you the best Java content from around the web, straight to your favorite blog! If you have any topics you would like to see covered, please email me, Breandan dot Considine at JetBrains and I’ll be happy to take a look.
Spring is in the air again, bringing along support for first-class functions, java.time, enhanced concurrency and much more. If you want the whole nine yards, you can get up to speed with Spring 4.0 and IntelliJ IDEA 13 or Spring Framework on Java 8 for the entire story. If you’re looking for something more lightweight, the Spring Boot team has reached a major milestone in development – learn how to put a little Spring into your step with this article from Dan Woods at Netflix, or on Kotlin, from our own Andrey Cheptsov.
As the largest upgrade to the Java programming model since 1996, Java 8 has something for everyone. Our friends at Typesafe recently published the results of their Java 8 survey, where a healthy 54% of respondents plan to update within one year.
Many well-known libraries have already embraced JDK 1.8, including Typesafe’s Akka and Play Framework, where lambdas neatly accompany the reactive programming model. jOOQ’s creator, Lukas Eder has an interesting use case for streams, but is wary of overloading and 'default' limitations. Trisha Gee at MongoDB finds the new date-time spec, JSR-310 especially valuable for i18n compliance and welcomes the brevity of lambdas for map-reduce operations.
As a performance enthusiast, I think concurrent counters offer some compelling latency benefits under contention, although I would like to see more atomic structures such as a lock-free hash table in the core libraries. Nevertheless, between these and many security enhancements, there are plenty of reasons to start using Java 8 in a production environment.
If you’re looking for another reason to give Java 8 a second look, Java ME 8 is hot off the presses for general availability, after two long years in development. Java ME is “aligned” to SE, which means your ME code will run on SE – one day that may hold true for Java EE as well, or so it seems. Micro edition currently supports RasPi and Qualcomm IoE out of the box, with a Windows emulator for rapid prototyping – read all about it on the Java Embedded homepage.
On the Android front, Flyway 3.0 shipped support for Android, SQLite and MariaDB, making database migrations on these platforms a breeze. Mike Grafton and Terry Chen at Pivotal Labs have forked the abandoned gradle-android-test-plugin and updated it to work with IntelliJ IDEA & Android Studio on GitHub.
Speaking of which, Android Studio has picked up an array of new features this month including resource inspections, new layouts, improved Gradle support and lots more. Work on the new build system continues at a steady pace – if you wish to try it out, someone at Pivotal has written a great tutorial on building Android projects with Gradle.
There have been a number of outstanding talks and articles last month, starting with the electric React Conference in London. If you were not among those lucky to attend, the organizers have released several sessions available on YouTube. Dr. Venkat Subramanian kindly joined us this March for a fantastic talk on functional programming in Java, which you can re-watch on our blog.
Looking ahead, Java engineers John Rose, Brian Goetz, and Guy Steele have published a draft proposal for value types (“Codes like a class, works like an int!”). You can get involved in the discussion below or over on John’s blog.
Finally, if you have not signed up for JavaOne 2014, don’t miss your chance to register! In addition to a great lineup of speakers and sessions, we are looking forward to seeing you there this fall. Stay tuned for more news and announcements soon.