seminar.2009.performance.intro
DESCRIPTION
TRANSCRIPT
Java Performance Seminar
Daniel Hotel, Herzelia
08:30-14:00 18/6/2009
2
Introduction
3
Introduction
• Why Performance?
• Critical
• Underestimated
• Overlooked
• Put off
4
Introduction
• Taming the beast
• Avoidance
• Awareness
• Planning ahead
• Identification
• Monitoring
• Profiling
• Solving
• Tuning
• Optimizations
5
History
History
6
• Early JVM
• Interpreted bytecodes
History
7
• First Just-in-time compilation
• JIT combines the advantages of interpretation and static (ahead-of-time) compilation.
History
8
• Generational GC
• Replaces naïve mark and sweep
History
9
• HotSpot JIT compilation
• Analyzes the program's performance for "hot spots“
• Targets for optimization
History
10
• Features
• New I/O
• 64-Bit JVM Support
• Garbage Collection Policy
History
11
• Features
• Class Data Sharing
• Ergonomics
History
12
• Features
• Split bytecode verification
• Escape analysis and lock coarsening
History
13
• Features
• Java Quick Starter
History
14
• Java 7
• G1 – Garbage First
• Multi Core Parallel Computing
• Client+Server compilers in same session
15
Agenda
16
The JVM Magic
• JVM Optimizations
• Garbage Collection Overview
• Compiler (javac / JIT) Optimizations
• Programming and tuning tips
17
JDK tools for performance diagnostics
• Visual Monitoring Tools
• Identify and solve problems using
• VisualVM
• Btrace
• jHat
18
Riding the memory bus
• Distributed JVM
• Overcome disk and network access scalability bottlenecks
• Strategies for using RAM efficiently
• Terracotta’s clustering solution
19
The Experts Panel
• Any Questions?
• Submit your performance questions until the last lecture
• Hit AlphaCSP’s Experts Panel with your questions