From Azul Systems
Douglas Hawkins has been passionately developing software for the past 10 years -- creating applications for bioinformatics, finance, and retail.
But Doug's true interest has always been VM internals. Now a VM engineer at Azul Systems, he works on Azul's Zing VM full-time and is the lead developer of Azul's ReadyNow technology.
Everyone worries about performance but few of us have the time to truly understand it. Fortunately, our modern JVMs and CPUs are capable of some amazing performance tricks, but those same tricks only make reasoning about performance that much harder.
In this talk, we'll take a look at some surprising and often unintuitive performance problems and solutions. Not simply with the goal of memorizing solutions but also to better understand the complexity that lies inside both JVMs and CPUs.
HotSpot promises to do wonders for us by Just-in-Time (JIT) compiling the "right" code for us, but how does it makes those decisions? And, perhaps more importantly, what happens when it's wrong?
In this talk, you'll learn through real code examples just how the JVM decides to compile your code, deoptimize your code, and stop-the-world for a GC.
Unlike earlier languages, Java had a well-defined threading and memory model from the beginning. And over the years, Java gained new packages to help solve concurrency problems.
Despite the memory model and standard library, Java concurrency is still subtle and often surprising.
In this talk, you'll learn many of these subtleties and also see some of the changes and additions to come in Java 9 & 10.