Northern Virginia Software Symposium
April 27 - 29, 2012 - Reston, VA
Douglas Hawkins
Senior Software Engineer
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.
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.



