The London Java Community for the Docklands

Jun 14 2016

HotSpot Under the Hood and Microbenchmarking in Java

2016, alex blewitt, hotspot, java, jim gough, jit, jmh, microbenchmarking

We are pleased to bring you the twelveth event of the Docklands.LJC; a group within the main London Java Community that focuses on the developer community in and around Docklands on the second Tuesday of each month. Our speakers this month are Alex Blewitt, Jim Gough and Ben Evans.

Alex Blewitt - HotSpot Under the Hood

The HotSpot JVM, which has been powering Java since its inclusion in 1.3 in 2000, is responsible for executing Java bytecode efficiently and portably across a number of different platforms. It uses an interpreter to bootstrap the Java runtime quickly, and switches to one of two JITs in order to perform optimisations and translation to native code.

This talk will show how HotSpot represents Java objects in memory, and how JVM flags and memory settings affect the way that the objects are laid out. We will then look at how bytecode is compiled into native code to gain the fastest execution time. Finally, we will look at the way in which common data structures and performance patterns have changed over time, leading to recommendations of replacements for old patterns which are now anti-patterns in existing code.

The presentation and video recorded from the event are displayed below:

Ben Evans and Jim Gough - Microbenchmarking in Java

This talk will firstly attempt to persuade you that Microbenchmarking is not a good idea and in fact can lead to inaccurate assumptions and poor systems as a result. Despite this warning there will be times when it is necessary, particularly for API designers and writers.

The talk will introduce JMH and talk about how to use it and some of what is happening behind the scenes to make your benchmark as accurate as possible.

It is impossible to gain a good microbenchmarking result, so we will discuss some of the outputs from JMH and how they should be reasoned to attempt to avoid a poor assumption.

The presentation and video recordedrfrom the event are displayed below:


Dr Alex Blewitt has been working with Java since its initial release in 1995 and been involved in the Eclipse and OSGi communities for over a decade. He is a senior technical architect at Credit Suisse (whom he represents on the JCP committee), writes for InfoQ and has published several books on Eclipse and other technologies.

He currently lives in Milton Keynes, and when the weather is nice, has been known to go flying from the local Cranfield airport. Alex blogs at and is on Twitter @alblue.

Ben Evans

Ben Evans is the co-founder and Technology Fellow of jClarity, a startup which delivers performance tools to help development and ops teams. He helps to organise the London Java Community, and represents them on the Java Community Process Executive Committee where he works to define new standards for the Java ecosystem. He is a Java Champion; JavaOne Rockstar; co-author of “The Well-Grounded Java Developer” and a regular public speaker on the Java platform, performance, concurrency, and related topics.

Jim Gough

Jim Gough is a technical trainer and writer specialising in Java. He spends the majority of his time teaching advanced Java and concurrency courses to developers with varying technical backgrounds. He serves on the Java Community Process Executive Committee and contributed towards the design and testing of JSR-310, the date time system built for Java 8. James is a regular public speaker and helps organise events at the London Java Community.

This event is being hosted by Credit Suisse in London. Sign-up information is available at