Java Performance Training Course

Course

In City Of London

Price on request

Description

  • Type

    Course

  • Location

    City of london

What will you learn?
Performance tips all come with a shelf life that is linked to the particular technology to which they are applied. Once that technology changes or is no longer used, the tips become useless at best and harmful at worst. For this reason we have purposely designed a course that focuses on providing you with something more than just tricks to get the latest and greatest framework to meet your performance needs. One of the tools we aim to leave you with is a methodology that we've used over the years on a regular basis. This methodology has helped us quickly identify and solve hard performance issues.
The other equally important aspect of performance tuning is tooling. A good portion of the course focuses on a number of open source tools that we have found to be useful in our campaigns to stamp out performance bottlenecks.
Beyond methodology and tooling, we look at some of the fundamentals of Java technology. This includes the inner workings of the Java memory management and HotSpot/JIT technologies.
Objectives
how to apply rigor to the task of performance tuning
how to setup a performance tuning environment
importance of performance tuning requirements and goals
tools needed to conduct a performance investigation
benchmarking and micro-benchmarking skills
Java memory and execution models

Facilities

Location

Start date

City Of London (London)
See map
Token House, 11-12 Tokenhouse Yard, EC2R 7AS

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Monitoring
  • JDBC
  • Java Programming
  • Java 1.6
  • Java API
  • Java Development Kit
  • Java
  • Database
  • Database training
  • Benchmarking
  • Web
  • Planning
  • Technology

Course programme

Basics and performance measurements

  • Performance dimensions
  • The process of creating efficient software
  • Factors affecting performance
  • Micro and Macro-Benchmarking
  • Profiling
  • Use of tools: JConsole, Java Visual VM, JMC (Java Mission Control), MAT (memory analysis)
Efficient work on files
  • IO: streams, buffering, RandomAccessFile
  • NIO: channels, memory mapped files
  • NIO.2 (introduction): Path, Files
  • How to increase serialization performance
Working with collections and arrays
  • Computational complexity - how to choose algorithms
  • Recursion, iteration and heuristics
  • Performance for sets, lists, queues, maps
  • Views and Collections class
  • Review of multithreaded collections (java.util.concurrent)
  • Arrays and collections for simple types
JMH - approved microbenchmak framework for Java
  • Creating JMH project and benchmarks
  • Configuration, running, results
  • Concurrent and parameterizable Benchmarks
  • Traps and advanced elements
Class loading
  • Class Class, ClassLoader and class loading process
  • When to control class loading?
  • Delaying class loading and reducing the number of classes
  • Reflection and dynamic proxy
  • Introduction to modules (Java 9)
Memory management in Java
  • Garbage Collector and object life cycle
  • Strong, soft, weak and phantom references
  • Why memory leak occurs and what to avoid in Java
  • Generations and memory spaces
  • Tuning Garbage Collector
  • Types of Garbage Collector: Serial, Parallel, Concurrent, G1
  • Changes in Java 8 and Java 9
Java Virtual Machine
  • Client and server modes
  • Tuning JVM
  • Performance changes from version to version
Introduction to optimization for HTTP (OPTIONAL)
  • Problems with server side optimization
  • Testing with HTTP: HttpUnit, JWebUnit, Selenium
  • Performance measurements for HTTP: Grinder, JMeter
  • Additional information about JMeter
Problems with optimization
  • Micro-benchmarking problems
  • Premature optimization
  • Greed
  • Other bad practices

Java Performance Training Course

Price on request