-
Core Java
How to detect and diagnose slow code in production
One of the more difficult tasks that a developer faces is finding and diagnosing slow running code in production. Firstly…
Read More » -
Core Java
JMH: How to setup and run a JMH benchmark
Health Warning! This post describes how to setup and run a simple JMH benchmark. Micro benchmarks are notoriously difficult to get…
Read More » -
Enterprise Java
Maven Tip: All about executable jars
Maven Tip: All about executable jars An executable jar is an extremely useful artefact when it comes to distributing your…
Read More » -
Core Java
Java8 Multi-threading ForkJoinPool: Dealing with exceptions
One of the main motivations behind the introduction of Java8 lambdas was the ability to be able to use multicores…
Read More » -
Core Java
Java8 Lambdas: Sorting Performance Pitfall EXPLAINED
Written in collaboration with Peter Lawrey. A few days ago I raised a serious problem with the performance of sorting…
Read More » -
Core Java
Java Flight Recorder (JFR)
JFR is a Java profiler which will allow you to investigate the runtime characteristics of your code. Typically you will…
Read More » -
Core Java
Java8 Sorting – Performance Pitfall
Java 8 brings all the goodness of lambdas to enable us to program using a declarative style. But is it…
Read More » -
Core Java
My favourite Java puzzler 2 + 1 = 4
Here’s my current favourite Java puzzler. How can you get your code to do this? …
Read More » -
Software Development
First rule of performance optimisation
Let’s start with a system with no obvious performance bottlenecks. By that I mean that there are no glaring algorithmic…
Read More »