Course Abstract
JVM deployments are common nowadays in enterprises of any size. Many of those installations handle millions of transactions per day and need tuning to their highest potential.
This 2-day training dives deep into the JVM internals and tool set offered by JVM’s eco-system. It also describes possible scenarios that may arise during production system support. Understanding of JVM internal architecture may help developers to write code that is more efficient; performance analysis and tuning of JVM parameters may help operations team to quicker find and report problems.
Topics Covered
Introduction: what is a VM?
History of Java
Detailed JVM architecture:
- specifications
- byte code
- memory model
- class loader model
- garbage collection
- JIT
- agents
- monitoring standards
Debugging
Performance analysis tuning
- Types and patterns of garbage collection
- JMX and monitoring tools:
- JConsole
- VisualVM
- Thread dump collection and analysis tools
- Profiling tools:
- VisualVM
- YourKit
- Memory analysis tools:
- Eclipse MAT
- Censum
- VisualVM
- YourKit
Prerequisites
Students must have a few years of Java software development or support experience.
Target Audience
The training is aimed at Java developers with several years of experience looking to deepening their JVM knowledge and system administrators looking to improving their JVM performance tuning skills.
Learning Objectives
- Understand JVM internals
- Use profilers and monitoring tools
- Analyze memory and thread dumps
- Measure and tune GC parameters
- Create performance test suites