Join itag

Loading Events

« All Events

  • This event has passed.

Optimizing Java

July 10 @ 9:30 am - July 11 @ 5:00 pm

€795

Course Description

This unique course is presented and written by the well-known O’Reilly book Author Benjamin Evans, and adapted from the brand new O’Reilly book of the same name. This 2-day course is designed for intermediate, advanced and expert Java developers who want to learn the detailed how and why of Java performance and how to diagnose and correct performance problems in a systematic and scientific way.

Covering JVM internals, bytecode, classloading, garbage collection analysis and tuning as well as JIT compilation, application profiling and language-level techniques; this course also contains hands-on labs and a wealth of directly-applicable knowledge that will allow engineers to gain deep insight into their performance problems and how to fix them.

 

Learning Objectives

* To diagnose and fix Java application performance problems

* To understand the underlying architecture of the JVM and some internals

* To understand the causes of common performance problems

* To avoid common misconceptions and traps when performance tuning Java applications

* To gain a basic familiarity with common Java performance tools

 

Target Audience

Ideally suited for more senior Java developers / architects (with 4+ years of experience). Not suitable for beginners (those with less than 2 years’ experience). Also suitable for Scala (and other JVM language) developers.

 

Course Pre-requisites

* Proficiency in Java development

* A working knowledge of the Java runtime environment

 

Course Content

Day 1:

Introduction / Setting the scene
  – An overview of JVM structure and subsystems
  – Objects at runtime (oops, conceptual views of GC and JIT)
  – Lab: Introduction to jmap

Benchmarking
  – Why JVM performance analysis is potentially complex
  – A simple system model and simple analysis techniques
  – Tools and system benchmarking
  – Pitfalls and best practices
  – Lab: Hands-on introduction to tools

Garbage Collection
  – Review of Hotspot’s heap
  – Basic concepts (allocation, evacuating, exact, compacting)
  – Parallel collectors
  – CMS
  – G1GC

GC Tuning & Tools
  – Trade-offs between collectors
  – GC Parameters
  – GC Logging
  – GC Tools (VisualGC, GCViewer, Censum)
  – GC Tuning
  – Lab: Spotting GC problems from tools

Day 2:

Language-level performance techniques

– Java collections

  – Immutable objects
  – Atomic access
  – sun.misc.Unsafe
  – Persistent collections
  – Lab: Immutable objects

JIT compilation
  – Overview of JVM bytecode & classloading
  – JIT compilation (low-level strategies used by HS)
  – PrintCompilation & LogCompilation
  – JITWatch
  – HSDIS
  – Lab: Hands-on with JITWatch

Profiling (and Microbenchmarking)
  – Large-scale profiling
  – Microbenchmarking caveats
  – JMH
  – Lab: JMH Hands-on

The Future: Java 9 and beyond
  – Modules and their impact
  – New performance enhancements
  – AOTC
  – Valhalla, Panama, GPU compute

Details

Start:
July 10 @ 9:30 am
End:
July 11 @ 5:00 pm
Cost:
€795

Venue

Maldron Hotel Sandy Road

Tweets

For more pics click here >

Media Partners