| Section 9 - Monitoring Garbage Collection |
- JVM flags for monitoring GC (Sun, IBM)
- GC log record format
- Secondary information hidden in GC logs
- GC sequential overhead
- GCViewer
- HPJMeter
|
|
| Section 10 - Interprocess communications |
- RMI tracing
- socket tracing
- JDBC Monitoring
|
|
- Java support for threading
- Synchronization explained
- Synchronized statement and keyword
- Producer consume with performance implications of choices
- Little’s Law
- reducing lock contention
- Java 5 locking optimizations
|
|
| Section 12 - Java Management eXtentions |
- review of JMX based tools
- Defining your own MBeans for performance monitoring
- defining an mbean
- adding attributes and operations
- hooking an mbean into the notification framework
- AttributeBundles
|
|
- role of profiling
- profiling techniques
- JVMTI
- types of profiling mapped to “The Box”
- Execution profiling
- memory profiling
- thread profiling
- prof
- hprof
- HPJMeter
- NetBeans Profiler
- when to use which profiler
- effects of Object pooling
- diagnosing memory problems
- loitering object
- leaking object
- permspace leaks
|
|
| Section 14 - Performance Tactics |
- effects of human perception
- tuning strategy
- influences on performance
- big gains quickly
- latency
- CPU bottlenecks
- I/O bottlenecks
- memory bottlenecks
- garbage collection tactics
- heap sizing
- “The Box” as a profiling guide
|
|
| Section 15 - Benchmarking |
- introduction
- sources of benchmarks
- macro and microbenchmarks
- dangers of benchmarking
- accounting for interfering factors
- a bad benchmark
- developing a micro-benchmark
- performance tuning a benchmark
- role of statistics in benchmarking
- benchmark validation
- macro-benchmarking
- test harness validation
- importance of randomization
- effects of queues
- consistency
|
|
- coding style for custom implied collections
- Review of standard 1.5 collection types
- introduction to non-blocking collections
|
|
| Section 17 - Serialization |
- purpose and performance implications
- review of serialization
- optimizing serialization
|
|
|