Douglas Hawkins

Senior Software Engineer

Douglas Hawkins

Douglas Hawkins has been passionately developing software for the past 10 years -- creating applications for bioinformatics, finance, and retail.

However, Doug's true interest is exploring and explaining the low-level details inside the virtual machines that we use everyday. To make byte code more accessible, he created the open-source Java Assembler Kit (JAK) which provides a fluent API for producing Java

byte code and includes a REPL to allow for interactive experimentation.

Doug also organizes the Boston Java Meetup and is a regular presenter at both the Boston Java Meetup and the New England Java User's Group.



Presentations

Understanding Garbage Collection

Most of us don't want to go back to the days of malloc and free, but the garbage collector isn't always our friend.

In this presentation, you'll learn about the different garbage collection strategies used in JVMs, how to monitor garbage collection, analyze memory dumps, and why you might want to use one collection strategy instead of another.

VM Optimizations

We've all heard that premature optimization is the "root of all evil", but what is "premature?" By understanding how JVMs optimize our code, we can make more informed decisions.

In this presentation, you'll learn about the types of optimizations that JVMs perform, see demonstrations of these optimizations, and learn about tools to micro-benchmark your own applications.

Inside Android's Dalvik VM

Android is gaining popularity rapidly, but why does Android use its own implementation of Java?

In this presentation, we'll dig into the details behind Android's Dalvik VM. Along the way, you'll learn about Android' s service architecture, Dalvik's byte code format, and the surprising details of how Android installs, launches, and executes your applications.

Examining Java Byte Code

Ever wondered what byte code looks like? Wondered how type erasure works? Or, wondered how other JVM languages can have all exceptions unchecked?

In this presentation, you'll learn the basics of Java byte code, see tools for viewing Java byte code, and even see how to use this knowledge to statically analyze your applications.


Douglas's NFJS Schedule

Boston, MA
Mar 9 - 11, 2012

San Antonio, TX
Apr 13 - 14, 2012

Reston, VA
Apr 27 - 29, 2012

Des Moines, IA
Aug 3 - 5, 2012