This is the page for my pre-recorded training videos. If you're interested in my live workshops and presentations you should check out upcoming workshops and conference appearances instead.
This series of videos is intended for programmers who are new to Java.
No experience is required for this course, although some basic familiarity with programming concepts (perhaps in languages such as Javascript or Python) is assumed.
A version of this course is available as live on-line education—for more details, refer to the upcoming events page.
My book, Java in a Nutshell, introduces Java to newcomers to the language and is a companion to the online class.
A starting point for understanding JVM performance
These videos present a very different view of Java performance analysis.
Rather than presenting a cookbook of tips and tricks, I've tried to introduce the subject in all of its complexity, without shying away from some of the apparent contradictions that are at the heart of performance analysis.
The subjects covered are intended to be a companion to the book of the same name.
A starting point for understanding Scala
This series of videos introduces Scala, a beautiful functional / object-oriented hybrid language that runs on the Java virtual machine. The content is aimed at programmers who are already proficient with Java, including Streams.