Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Java Memory Management and Garbage Collection

Course Curriculum Angelika LangerCourse Curriculum Angelika Langer  
HOME

SEMINARS
  GENERAL INFO
  SCHEDULE
  REGISTRATION
  
  JAVA
    EFFECTIVE JAVA
    CONCURRENCY
    PERFORMANCE
    GC TUNING
    MEMORY MODEL 
    GENERICS
    JAVA FOR C++
    JAVA INTRO

  C++
    RELIABLE C++
    EFFECTIVE STL
    TEMPLATES
    EXCEPTIONS
    IOSTREAMS
    C++ FOR C
    C++ FOR JAVA
    C++ INTRO   
 

TALKS
ARTICLES 
BOOKS 
LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
Java Memory Management and Garbage Collection
COURSE DESCRIPTION

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.

     


     
    COURSE CONTENT


     
    Garbage Collection Algorithms 
    • Mark-and-Sweep
    • Fragmentation and Compaction
    • Generation GC
    • Parallel, concurrent, and incremental GC
    • "Garbage First" GC
    Memory Profiling
    • Tool Architecture
    • Memory Profiling Strategies and Tactics
    • Memory Leaks, Unwanted References, Lointering Objects
    Garbage Collection Profiling and Tuning
    • GC Profiling
    • GC Tuning (Sun HotSpot JVM)
    • Tuning for Maximum Throughput
    • Tuning for Minimum Pause Times
    • Perm Space and Class Unloading
    FURTHER READING

    To get an impression of some topics covered in this course check out the sample reading: 
     
    EFFECTIVE JAVA
    Column in JavaSpektrum 
    (available in German only)

     

     
     
    TRAINING LOCATIONS

    Open Enrollment
    Public courses are conducted in collaboration with partner companies worldwide. Presentation language is English or German, depending on the location. For further information go to GENERAL INFO.
    On-Site Training
    Courses can be held at your company site. Duration and content will be tailored to your specific needs and prerequisites. Presentation language is English or German.  For further information go to GENERAL INFO.
    For information regarding training locations and the current schedule of public courses go to SCHEDULE. For further information or enrollment send me EMAIL or use the REGISTRATION form.
    Schedule
    To check for availability, price and other details send me EMAIL or use the REGISTRATION form.

     
    © Copyright 1995-2009 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Courses/GC.html  last update: 3 Sep 2009