Home » Author Archives: Richard Warburton

Author Archives: Richard Warburton

Richard is a Principle Software Engineer at jClarity, interested in deep dive performance issues and compiler verification, Adopt-aJSR, Adopt OpenJDK and the LJC. He holds a PhD from the University of Warwick and lives in London.

Agrona’s Threadsafe Offheap Buffers

java-logo

This blog post continues my ongoing series on the Agrona library by explaining how we offer easy access to offheap memory for threadsafe operations. I should probably caveat before we move on that this is a fairly advanced topic and I don’t attempt to explain concepts such as memory barriers – merely outline the features of the API. The deficiencies ...

Read More »

Given When Then in Java

junit-logo

tl;dr you can use labels to clarify a given-when-then style of testing. What is given-when-then? given-when-then is a commonly used style of specifying system behaviour in which your tests are split into three sections. Given is the section that lays out the pre-conditions for the test, ie whatever state you’re assuming the world to be in before you start. The ...

Read More »

Java Debuggers and Timeouts

java-logo

How to use your debugger in the presence of timeouts in your code. My kingdom for a debugger! So you’ve been coding away merrily on a project and everything is going well until a bug appears. You reach into your developer’s toolbox and pull out a debugger. It’s great – you can set breakpoints, you can interrupt when there’s an ...

Read More »

An open source JVM Sampling Profiler

java-logo

It’s a well known deficiency of most existing sampling Java profilers that their collection of stack traces has to happen at a safe point. This is the case for profilers such as the sampling profiler, which uses the SUN/Oracle management agent to gather its stack traces. The problem with this approach is that it introduces both a sample bias since ...

Read More »

Javaone 2013 Review

java-logo

tl;dr I attended Javaone again this year. It was fun. Sunday The conference kicked off on Sunday, with user group sessions and the main keynote. I was actually unable to attend those, since I was running a Java University training session on the new features in Java SE 7 & 8. This covered project coin, NIO 2 and Fork/Join framework ...

Read More »

Performance tests for slow networks with tc

devops-logo

tl;dr: you can easily replicate slow network conditions which makes it easier to performance test them. Smartphones have made both mobile websites and apps that have to connect in mobile situations a lot more common. There’s also a lot of value to be had in servicing these kind of customers and in recent years we’ve arrived at the stage where ...

Read More »

Garbage Collection in Java (4)

java-logo

G1: Garbage First The G1 collector is the latest collector to be implemented in the hotspot JVM. Its been a supported collector ever since Java 7 Update 4. Its also been publicly stated by the Oracle GC Team that their hope for low pause GC is a fully realised G1. This post follows on from my previous garbage collection blog ...

Read More »

Testing Java 8 in 3 Easy Steps

java-logo

tl;dr Use your CI Setup to test Java 8. The upcoming Java 8 release promises a bunch of new feature for Java developers, but there’s always a risk when upgrading that your code will break. We all remember that when Java 7 shipped it had a series of quite severe bugs. Of course we can all help with avoiding the ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.