Core Java
-
DIY Annotations
Since Java 5 there have been annotations in Java. I wanted to make my own annotation just to see what…
Read More » -
Multi level grouping with streams
1. Introduction With Java 8 streams it is pretty easy to group collections of objects based on different criteria. In…
Read More » -
Parallel execution of blocking tasks with RxJava and Completable
” How parallel execution of blocking “side-effect only” (aka void) tasks became easier with Completable abstraction introduced in RxJava 1.1.1.…
Read More » -
(Ab)using Java 8 FunctionalInterfaces as Local Methods
If you’re programming in more advanced languages like Scala or Ceylon, or even JavaScript, “nested functions” or “local functions” are…
Read More » -
Parsing any language in Java in 5 minutes using ANTLR: for example Python
I like processing code for several purposes, like static analysis or automated refactoring. The interesting part to me is to…
Read More » -
Default HotSpot Maximum Direct Memory Size
In my previous blog post Improved Documentation of HotSpot Options in Java 8, I wrote about the misunderstandings surrounding the…
Read More » -
JUnit 5 – A First Look at the Next Generation of JUnit
In the beginning of February, the JUnit 5 (aka JUnit Lambda) team has published an alpha release. Since JUnit 4 is among…
Read More » -
Constructor or setter?
It goes without saying that every object needs to be created before it can be used. It does not matter…
Read More » -
Learn about JDK9 Compact Strings (Video review Charlie Hunt)
JDK 9 introduces a new feature called Compact Strings. Given the ubiquity of Strings in Java programs I feel that…
Read More »