• Google
  • JBoss
  • OpenShift
  • Oracle
  • VMware
  • WSO2

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the convention, contact Sharon Cordesse at scordesse@oreilly.com

Download the OSCON Java Sponsor/Exhibitor Prospectus

Media Partner Opportunities

For information on trade opportunities with O'Reilly conferences or contact mediapartners@ oreilly.com

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com

OSCON Bulletin

To stay abreast of convention news and annoucements, please sign up for the OSCON email bulletin (login required)

Contact Us

View a complete list of OSCON contacts

JVM Bytecode for Dummies

Charles Nutter (Engine Yard, Inc)
Java: JVM
Location: Oregon Ballroom 201
Average rating: ****.
(4.00, 7 ratings)

Every Java developer should have a good working knowledge of JVM bytecode and what’s happening under the covers. Whether you want to generate your own bytecode or simply understand what your code looks like to the JVM, you’ll get something out of this talk. We’ll cover all the most common operations with visual representations of how the JVM execute that code. We’ll see how the new invokedynamic bytecode works. And we’ll track what happens to your bytecode after you hand it off to the JVM: from interpretation, through compilation and optimization, all the way to x86_64 assembly code.

During the first part (JVM Bytecode Basics) I will demonstrate two bytecode libraries. One is BiteScript, a Ruby API and DSL for generating JVM bytecode that’s elegant and easily readable. I’ll also show ASM, the de-facto standard Java library for generating JVM bytecode. Examples will all be runnable by any attendee, but participation is not necessary.

The second part (JVM Bytecode Optimization) will walk through how bytecode flows through the JVM. We’ll see how the JVM optimizes your code (and more importantly…why it sometimes doesn’t optimize), how to monitor the JVM’s compiler and optimization process, and ultimately how to see exactly what native code runs on the CPU. You’ll have a stonger knowledge of the JVM than ever before.


Photo of Charles Nutter

Charles Nutter

Engine Yard, Inc

Charles Oliver Nutter has been programming most of his life, as a Java developer for the past decade and as a JRuby developer for over four years. He co-leads the JRuby project, an effort to bring the beauty of Ruby and the power of the JVM together. Charles believes in open source and open standards and hopes his efforts on JRuby and other languages will ensure the JVM remains the preferred open-source managed runtime for many years to come. Charles blogs at blog.headius.com and tweets as headius on Twitter.

Comments on this page are now closed.


Picture of Charles Nutter
Charles Nutter
07/27/2011 4:27pm PDT

I’ve uploaded the slides to slideshare here: www.slideshare.net/CharlesN...

I will also send along my PDF to the OSCON folks.

Muhammad Ali Siddiqui
07/27/2011 2:32pm PDT

Hello Charles,

Can you please share the contents of this workshop? I was really looking forward to attend it, but was having fever in the morning and missed it.

Thank you so much in advance.