Articles, Home

Java streams and state

With Java 8 streams, it seems Functional Programming has won. Long live statelessness and recursion! Reality is a bit more nuanced: as always in software programming, it depends. I believe that the more tools in your toolbelt, the better it is. When all you have is a hammer, everything looks like a nail. In Functional Programming, every function needs to be pure: output only depends on input, and there are no side-effects. For this reason, Java methods to create infinite streams are not u

Articles, Home

Applying Concurrency Cookbook Recipes to SPEC JBB

Monica Beckwith talks about how she followed the recipes appearing in Doug Lea’s cookbook and applied them to SPEC JBB, and report her findings. Key takeaways: an introduction to relaxed memory consistency as implemented in Java, a presentation of their performance analysis methodology, and a detailed report on the performance implications of memory barriers.

Articles, Home

HTTP/2 in Payara Platform 5

Payara Platform 5 brought with it an implementation of Servlet 4.0, which itself contains support for HTTP/2. HTTP/2 support in Java has been fairly obscure for JDK 8 users, causing issues for many. All Payara Server 5 versions before 5.183 have both HTTP/2 and HTTP/2 server push enabled by default.