seminar.2009.performance.intro

19
Java Performance Seminar Daniel Hotel, Herzelia 08:30-14:00 18/6/2009

Upload: roialdaag

Post on 18-Dec-2014

338 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Seminar.2009.Performance.Intro

Java Performance Seminar

Daniel Hotel, Herzelia

08:30-14:00 18/6/2009

Page 2: Seminar.2009.Performance.Intro

2

Introduction

Page 3: Seminar.2009.Performance.Intro

3

Introduction

• Why Performance?

• Critical

• Underestimated

• Overlooked

• Put off

Page 4: Seminar.2009.Performance.Intro

4

Introduction

• Taming the beast

• Avoidance

• Awareness

• Planning ahead

• Identification

• Monitoring

• Profiling

• Solving

• Tuning

• Optimizations

Page 5: Seminar.2009.Performance.Intro

5

History

Page 6: Seminar.2009.Performance.Intro

History

6

• Early JVM

• Interpreted bytecodes

Page 7: Seminar.2009.Performance.Intro

History

7

• First Just-in-time compilation

• JIT combines the advantages of interpretation and static (ahead-of-time) compilation.

Page 8: Seminar.2009.Performance.Intro

History

8

• Generational GC

• Replaces naïve mark and sweep

Page 9: Seminar.2009.Performance.Intro

History

9

• HotSpot JIT compilation

• Analyzes the program's performance for "hot spots“

• Targets for optimization

Page 10: Seminar.2009.Performance.Intro

History

10

• Features

• New I/O

• 64-Bit JVM Support

• Garbage Collection Policy

Page 11: Seminar.2009.Performance.Intro

History

11

• Features

• Class Data Sharing

• Ergonomics

Page 12: Seminar.2009.Performance.Intro

History

12

• Features

• Split bytecode verification

• Escape analysis and lock coarsening

Page 13: Seminar.2009.Performance.Intro

History

13

• Features

• Java Quick Starter

Page 14: Seminar.2009.Performance.Intro

History

14

• Java 7

• G1 – Garbage First

• Multi Core Parallel Computing

• Client+Server compilers in same session

Page 15: Seminar.2009.Performance.Intro

15

Agenda

Page 16: Seminar.2009.Performance.Intro

16

The JVM Magic

• JVM Optimizations

• Garbage Collection Overview

• Compiler (javac / JIT) Optimizations

• Programming and tuning tips

Page 17: Seminar.2009.Performance.Intro

17

JDK tools for performance diagnostics

• Visual Monitoring Tools

• Identify and solve problems using

• VisualVM

• Btrace

• jHat

Page 18: Seminar.2009.Performance.Intro

18

Riding the memory bus

• Distributed JVM

• Overcome disk and network access scalability bottlenecks

• Strategies for using RAM efficiently

• Terracotta’s clustering solution

Page 19: Seminar.2009.Performance.Intro

19

The Experts Panel

• Any Questions?

• Submit your performance questions until the last lecture

• Hit AlphaCSP’s Experts Panel with your questions