Performance analysis and tuning is often treated as an issue of subordinate
importance until eventually in one of the final project phases the developers
attempt to verify that their implementation meets the performance requirements.
Typically, a performance tuning is necessary to meet the goals.
Potential performance issues to be addresses in this phase include memory
management and garbage collection:
excessive allocation of memory
wasting memory due to unwanted references (so-called "memory leaks")
reduced throughput due to excessive garbage collection
inacceptably long garbage collection pauses (so-called "stop-the-world"
pauses)
The workshop explains the above mentioned aspects of performance tuning.
Attendants will explore tools for analysis of memory consumption and garbage
collection. They will learn and practice strategies and tactics for profiling
and tuning of both their program and the JVM's garbage collector.
As JVM tuning is JVM specific, the workshop's focus is on one particular
JVM: the HotSpot JVM developed by Sun Microsystems.
The workshop aims to provide sound knowledge tailored to professional
programmers in an industrial context. The workshop does not only
present theoretical background knowledge. Instead the focus is on
gaining practical experience. For this reason, a substantial part
of the workshop consists of hands-on labs.
Attendants will learn how profiling tools work, how they help, where
they fail, what they deliver and display, and how their results are best
interpreted and used. Among other things, attendants will practice
how to use profiling tools to detect memory allocation hot spots and memory
leaks, how to tune and how to verify the success of their tuning.
. |
|
Prerequisite Courses
and Skills:
|
Working knowledge of Java; in-depth experience
with the JVM not required. |
|
Duration:
|
1 day |
|
Exercises:
|
Workshops and hands-on labs |
This is a course for Java programmers responsible for performance analysis
and tuning and devopers interested in memory management and garbage collections
issues.
The course is designed to build on existing expertise as Java programmers
and aims to take the skills one step further. Prerequisite for the seminars
is sound knowledge of Java and basic understanding of the virtual machine.
OBJECTIVES
|
Learn how to work with profiling tools |
|
Know how to track down memory leaks |
|
Practice how to identify and eliminate allocation hot spots |
|
Understand garbage collection |
|
Know your tuning options |
The course is designed by Klaus Kreft & Angelika
Langer and backed by years of experience in teaching Java related
topics and more than a decade of real-world experience in industrial software
development in Java.
Angelika Langer is a freelance trainer/mentor
in the area of object-oriented software development in C++ and Java. She
is a recognized author and speaker at conferences worldwide and author
of the
Java Generics FAQ
.
Klaus Kreft is a senior consultant for more than
20 years and has served as the lead architect on several successful industry
projects. He develops in Java since 1995. He is a regular speaker at OO
conferences in Germany.
Together they are authors of the book "Standard
C++ IOStreams and Locales" and numerous articles on C++ and Java topics
in various computer magazines worldwide, including the column "Effective
Java" in the German JavaMagazin.
|