Greater Wisconsin Software Symposium - February 26 - 28, 2010 - No Fluff Just Stuff

Brian Goetz

Greater Wisconsin Software Symposium

Milwaukee · February 26 - 28, 2010

You are viewing details from a past event
Brian Goetz

Author of Java Concurrency in Practice

Brian Goetz has been a professional software developer for 20 years. He is the author of over 75 articles on software development, and his book, Java Concurrency In Practice, was published in May 2006 by Addison-Wesley. He serves on the JCP Expert Groups for JSRs 166 (concurrency utilities), 107 (caching), and 305 (annotations for safety analysis). He is a frequent presenter at JavaOne, OOPSLA, JavaPolis, SDWest, and the No Fluff Just Stuff Software Symposium Tour. Brian is a Sr. Staff Engineer at Sun Microsystems.

Presentations

Concurrency Revolution: The Hardware Story

Do software developers need to know anything about CPU architecture? They do if they aspire to be performance experts. Modern CPUs behave almost nothing like the sequential Von Neumann machine model we know and love.

This session provides an overview of the architecture of modern CPUs, how this has changed in recent years, and what the implications are for software development and performance management.

Towards a Universal VM

The success of the Java platform is powered by the Java Virtual Machine (JVM), which many people assume is tied to the Java programming language. In fact, 100+ programming languages are hosted on the JVM, including JavaFX, JRuby, Jython, Groovy, Clojure, and Scala. A key implementation challenge is to make code written in non-Java languages run as fast as code written in the Java language.

Stupid JIT Tricks

Ever wondered what happens to your bytecodes when they're executed by a Java Virtual Machine? This talk provides a peek “under the hood” of modern JVMs, exploring dynamic compilation, speculative optimization, garbage collection, and some hardware-specific optimizations.

The Java Memory Model

What's the worst thing that can happen when you fail to synchronize in a concurrent Java program? Its probably worse than you think – modern shared-memory processors can do some pretty weird things when left to their own devices.

Are All Web Applications Broken?

Many developers believe that web frameworks “take care of” the details of concurrency, but this is only because most web applications make limited use of state. Stateful web applications also need to be careful about hazards like races. This talk will use the Java Memory Model to analyze common patterns of state management in web applications.