Java 11 is by default very reluctant to release unnecessary memory back to the operation system. The Shenandoah GC is more aggressive and available in Java 11.
Java Streams are powerful but need to get special attention to keep the implementation readable.
Predicate.not is handy to filter streams with method references for the opposite of a provided method
Building a Cartesian Product or Permutation is challenging. I used Java Streams to implement a readable algorithm.
Use GitHub Actions without third-party marketplace Actions to build my Jekyll blog. Publish the generated content on GitHub Pages.
It was a challenging task to decide which software I want to use for this blog.