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!

Here are some of the eBooks you will get:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials