Lots of interesting writeups on Java 9 this week.

Here we go…

1. Spring and Java

>> Spring Framework 5.0 M5 Update [spring.io]

Very interesting functionality in the latest Spring 5 pre-release.

>> A use-case for local class declaration [frankel.ch]

From the engineering point of view, there are some nice use cases for defining classes locally but those should be used with caution because they might violate PoLA.

>> Integration testing strategies for Spring Boot microservices part 2 [codecentric.de]

The 2nd part of the series on testing strategies for microservices architectures done in Spring Boot.

>> How to encrypt and decrypt data with Hibernate [vladmihalcea.com]

A short and to-the-point write-up on how to do data encryption with Hibernate.

>> LRU Cache From LinkedHashMap [javaspecialists.eu]

LinkedHashMap can be used for building lightweight LRU caches.

Should you build your own cache? Definitely not, but it’s a fantastic learning tool.

>> Testing RxJava2 [infoq.com]

Testing RxJava is easier than it seems when using dedicated solutions like TestSubscriber, TestScheduler or RxJavaPlugins.

The Awaitility library might come in handy too.

>> Profile-based optimization techniques in the JVM [advancedweb.hu]

A new installment from a deep dive series into optimization techniques for the JVM.

>> The Last Frontier in Java Performance: Remove the Garbage Collector [infoq.com]

Very interesting article about potential ideas for decreasing the GC’s overhead.

Also worth reading:

Webinars and presentations:

Time to upgrade:

2. Technical

>> How does MVCC (Multi-Version Concurrency Control) work [vladmihalcea.com]

A short overview of the MVCC technique – applied of course to database systems, but potentially to other types of systems as well.

>> Secrets of Maintainable Codebases [daedtech.com]

Everyone is talking about developing clean and maintainable databases but what does it actually mean?

Also worth reading:

3. Musings

>> Excited about a ‘2.0’ tech stack for microservices [christianposta.com]

A few thoughts about a new generation of tools for building microservices.

>> Tech jobs are already largely automated [lemire.me]

Very interesting points regarding the reality of our industry and how software is impacting the overall job market.

>> What’s in a Name? Spelling Matters in Code [daedtech.com]

In the age of advanced IDEs, there is no justification for having grammar errors or typos in your codebase.

>> First steps as a test automation coach [ontestautomation.com]

Thoughts about starting to coach teams towards – in this case, towards better testing.

Also worth reading:

4. Comics

And my favorite Dilberts of the week:

>> Are you sure my data is correct? [dilbert.com]

>> Giving 110% [dilbert.com]

>> How to look busy [dilbert.com]

5. Pick of the Week

A really good episode on the important topic of doing deep work:

>> SPI 255: Deep Work with Cal Newport [smartpassiveincome.com]