OPTIMISING JAVA – GTJ47

 

UPCOMING 2-DAY TRAINING EVENTS 2017

CORK | 15-16th May | BOOK HERE  |  4-5th Dec

DUBLIN| 6-7th July | BOOK HERE | 11-12th Dec

GALWAY | 10-11th July | BOOK HERE | 7-8th Dec

BELFAST | 3-4th July | BOOK HERE | 14-15th Dec

( some subsidised places may be available – CONTACT US to find out)

 

NB: PRESENTED BY NEW O’REILLY BOOK AUTHOR BEN EVANS

GuruTeam is delighted to launch Ben Evans’ Optimizing Java course which is adapted from his current O’Reilly book “Optimizing Java”.

About the course

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.

Ben Evans

Ben Evans is an author, entrepreneur, consultant and educator. His career highlights to date include: co-founding jClarity, a performance startup; Chief Architect for Listed Derivatives at Deutsche Bank; performance testing the Google IPO; creating award-winning websites for some of Hollywood’s biggest hits of the 90s; building multibillion dollar low-latency trading systems; and utilising technology to help some of the UK’s most vulnerable people.

He helps run the London Java Community, and represents the user community on Java’s governing body, the JCP Executive Committee. He is a Java Champion and 3-time JavaOne Rock Star Speaker.

 

Course Description

NEW COURSE

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

 

Course Set-up

(hardware and software requirements)

  • Java 8 (preferred) or 7
  • A suitable IDE (e.g. Netbeans, Eclipse, IntelliJ)

 

Duration

2 Days

 

Target Audience

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

 

Course Pre-requisites

  • Proficiency in Java development
  • A working knowledge of the Java runtime environment
  • Minimum 4 years Java Development experience

 

Suggested Follow on Courses

There are many options of suitable follow-on courses. Have a look at the courses HERE. If you cannot find what you are looking for please contact us as we have over 30 Java and Java EE courses in our training curriculum.

 

Course Content

DAY 1:

Introduction / Setting the scene

  • An overview of JVM structure and subsystems
  • Objects at runtime

Lab: Introduction to jmap

Benchmarking

  • Why JVM performance analysis is complex
  • Simple system model & simple analysis techniques
  • Tools and system benchmarking
  • Best practices & anti-patterns

Lab: Hands-on introduction to tools

Garbage Collection

  • Review of Hotspot’s heap
  • Basic concepts
  • Parallel collectors
  • CMS
  • G1GC

GC Tuning & Tools

  • Trade-offs between collectors
  • GC Parameters
  • GC Logging
  • GC Tools
  • Choosing a collector

Lab: Spotting GC problems from tools

 

DAY 2:

Language-level performance techniques

  • JIT compilation
  • Overview of JVM bytecode & classloading
  • Understanding JIT compilation
  • PrintCompilation & LogCompilation
  • JITWatch
  • Lab: Hands-on with JITWatch

Profiling (and Microbenchmarking)

  • Large-scale profiling
  • Microbenchmarking caveats
  • JMH

Lab: JMH Hands-on

Language-level performance techniques

  • Java collections
  • Immutable objects
  • Atomic access
  • misc.Unsafe

Lab: Immutable objects

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

See more Java courses