Lots of interesting writeups on Java 9 this week.
Here we go…
1. Spring and Java
>> Spring Tips: Season 2 Recap [spring.io]
A summary of the Spring Tips series, including integrations with jOOQ, Couchbase, MyBatis, and a lot more.
>> Light at the End of the Long Tunnel for Java EE 8 [infoq.com]
Looks like that waiting for Java EE 8 finally comes to an end.
>> Custom collectors in Java 8 [frankel.ch]
Java 8 comes with an overwhelming set of collectors for the Stream API but sometimes even this is not enough and you need to create your own collectors – which might be more complicated than you thought.
>> Java 9 modules – JPMS basics [joda.org]
Another solid guide to modularity in Java 9.
>> Critical Deficiencies in Jigsaw (JSR-376, Java Platform Module System) [developer.jboss.org]
Redhat team raised multiple issues regarding the current implementation of the Jigsaw Project. It looks like there were multiple compromises made when developing the new modular system for Java.
>> 8 Ways to use the features of your database with Hibernate [thoughts-on-java.org]
There are quite a few common misconceptions about Hibernate – one of which is that it can only be used for simple mapping. It turns out you can call database functions, stored procedures, map views, and quite a bit more.
>> Want to Know What’s in a GC Pause? Go Look at the GC Log! [infoq.com]
GC logs can be a source of crucial information if you know how to read it – which can be tricky because GC logging is not thread-safe (prior to Java 9).
Also worth reading:
>> Java Bean Validation’s validateProperty() and validateValue() in Three Minutes [sitepoint.com]
>> Faster Spring Boot Startup [dolszewski.com]
>> StringBuffer, and how hard it is to get rid of legacy code [vanilla-java.github.io]
>> Spring – your next Java microframework [blog.alexnesterov.com]
>> Deprecation of Object.finalize() [stuartmarks.com]
>> Javaslang Changes Name to Vavr [vavr.io]
>> How does a JPA Proxy work and how to unproxy it with Hibernate [vladmihalcea.com]
>> Use Cases for Java Enhanced Enums [marxsoftware.blogspot.com]
Webinars and presentations:
>> Straggler Free Data Processing in Cloud Dataflow [infoq.com]
>> Jean Barmarsh on Binary RPC with gRPC and Thrift, and Constraint Theory in Product Design [infoq.com]
Time to upgrade:
>> Spring Cloud Dalston Released [spring.io]
>> Spring Cloud Stream Chelsea goes GA! [spring.io]
>> Spring Vault 1.0 goes GA [spring.io]
>> Spring Data Kay M2 released [spring.io]
>> Spring Cloud Task 1.2.0.RC1 is now available [spring.io]
>> Tenth bug-fix release for ORM 5.2 [in.relation.to]
>> Hibernate Search now speaking Elasticsearch 5 [in.relation.to]
>> Spring Framework 4.3.8 released [spring.io]
>> Oracle JDK 9 Early Access Documentation Updated [marxsoftware.blogspot.com]
2. Technical
>> Stop sweeping your failing tests under the RUG [ontestautomation.com]
Instead of retrying your tests till they green out, it might be a better move to invest into fixing problems with the system, or with the test itself.
Also worth reading:
3. Musings
>> Elements of Helpful Code Documentation [daedtech.com]
Discovering APIs by experimenting with them is fun but not very efficient (especially from the customer side of things). By taking care of documentation, we can get a lot more productive in the long term.
>> Alternatives to Lines of Code [daedtech.com]
It’s not a secret that measuring productivity using LoC/day is less than ideal and can be hacked easily, although it still appears quite attractive to some managers.
Also worth reading:
>> Eliminating the Job Interview via Partnership [daedtech.com]
4. Comics
And my favorite Dilberts of the week: