JVM and Java Performance Tuning
JVM and Java Performance Tuning
Description
Intended Audience
Prerequisites
Instructional Method
course contents
: +91 7720092936/9766640192
Email: sales@anikatechnologies.com
Description:
Focus of the training is to make JVM and Java performance tuning clear and simple
as possible for the participants at the design, architecture and, implementation levels.
This is an end-to-end training. The Training illustrates almost every concept with the
help of pictures because it is much easier to understand the concept pictorially and
model code. There are a lot of illustrations in the course of the training. There are
worked out examples to illustrate the concepts for almost every topic. There is a
detailed case study that strings together all concepts and technology.
Intended Audience:
Prerequisites:
Instructional Method:
This is an instructor led course provides lecture topics and the practical application
of Java and the underlying technologies.
It pictorially presents most concepts and there is a detailed case study that strings
together the technologies, patterns and design.
Heap Fragmentation
GC Pros and Cons
Object Size
Algorithms
Overview
Performance
GC Tasks
Reachability
Managing OutOfMemoryError
Generational Spaces
Measuring GC Activity
History
Summary
Old Space
Young Space
JVM 1.4, 5, 6
Reference Objects
Reference Objects
PhantomReference
WeakHashMap
SoftReference
ReferenceQueue
Object Reachability
WeakReference
Using References
Abstracting
SoftHashMap
Performance Implications
Programming Tips
Large Object of different sizes
Object Pooling
Reference Objects
Object Allocation
Problems with Finalization
Heap sizing
GC policy
Be aware of Ergonomic settings
Other tuning parameters
Tuning for Low pause time
Tuning for throughput
Latency
Old(Parallel)
Perm
Young (Parallel)
Pset Configuration
Old(CMS)
Tenuring Distribution
Initiating Occupancy
Common Scenarios
Survivor Ratio
Tenuring threshold
m
Througput
CMS
Monitoring GC
(Parallel GC)
CondCardmark
Adaptive Sizing
Tlabs
Large Pages
Numa
Pset Configuration
Par New
Parallel GC
Safe Pointing
Time Stamps
Date Stamps
System.GC
Monitoring the GC
Conclusions
GC Tuning
Tuning Parallel GC
Tuning CMS
Tuning the young generation
GC Tuning Methodology
Deployment Model
Choosing Runtime
General GuideLines
Data Model
Heap Sizing
Aggressive Inlining
Biased locking
Client VM
Loop unrolling
Server VM
Data Flow analysis
Dynamic Compilation
OSR
Dead Code Elimination
Code Hoisting
NUMA
Inline caching
Virtual method calls Details
Virtual Machine Design
Dynamic Compilation
Large Pages
Biased Locking
Lock Coarsening
Standard Compiler Optimizations
Speculative Optimizations
Escape Analysis
Scalar Replacements
Inlining Details
VM Philosophy
JIT
Mixed mode
Golden Rule
Profiling
Optimizations
m
DoEscapeAnalysis
AggressiveOpts
CallSites
HotSpot
Deoptimizations
Backing Off
PrintCompilation
OSR
Log Compilations
Optimizations
PrintInlining
Intrinsics
Common intrinsics
Tuning inlining
Client
Server
Tiered
Monitoring JIT
Polymorphic
BiMorphic
MegaMorphic
MonoMorphic
MaxInlineSize
InlineSmallCode
MaxInline
MaxRecursiveInline
FreqInlineSize
PrintingAssembly
UnlockingDiagnostics
m
PrintOptoAssembly
Constant values
Stack Operations
Opcodes
Flow Control
JVM Stack
Local variables
Stack Juggling
NIO
Character Streams Encoding
Non-Blocking Operations
Buffers Advantages
Selectors
Channels
Allocating Buffers
Motivation for Using
Memory Mapped Files
Working with Buffers
NIO Uses
Event Driven Architecture
m
NIO 2.0
Class-loading
Advanced Class-loading
JMX
Introduction
m
Dynamic Mbeans
Open Mbean
Standard Mbeans
JMX Remoting
Advanced Features
J2EE Management(optional)
Model Mbean
ProfilingTools
Performance Programming Tips
Agent Controller
Architecture Components
Objectives
Architecture
Project Structure