SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Java Performance
     Seminar


   Daniel Hotel, Herzelia
   08:30-14:00 18/6/2009
Introduction




               2
Introduction


• Why Performance?
  • Critical
  • Underestimated
  • Overlooked
  • Put off




                     3
Introduction


• Taming the beast
  • Avoidance
    • Awareness
    • Planning ahead
  • Identification
    • Monitoring
    • Profiling
  • Solving
    • Tuning
    • Optimizations

                       4
History




          5
History


• Early JVM
  • Interpreted bytecodes




                            6
History


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




                                           7
History


• Generational GC
  • Replaces naïve mark and sweep




                                    8
History


• HotSpot JIT compilation
  • Analyzes the program's performance for
    "hot spots“
  • Targets for optimization




                                             9
History


• Features
  • New I/O
  • 64-Bit JVM Support
  • Garbage Collection Policy




                                10
History


• Features
  • Class Data Sharing
  • Ergonomics




                         11
History


• Features
  • Split bytecode verification
  • Escape analysis and lock coarsening




                                          12
History


• Features
  • Java Quick Starter




                         13
History


• Java 7
  • G1 – Garbage First
  • Multi Core Parallel Computing
  • Client+Server compilers in same session




                                          14
Agenda




         15
The JVM Magic


• JVM Optimizations
  • Garbage Collection Overview
  • Compiler (javac / JIT) Optimizations
  • Programming and tuning tips




                                           16
JDK tools for performance diagnostics


• Visual Monitoring Tools
  • Identify and solve problems using
    • VisualVM
    • Btrace
    • jHat




                                        17
Riding the memory bus


• Distributed JVM
  • Overcome disk and network access
    scalability bottlenecks
  • Strategies for using RAM efficiently
  • Terracotta’s clustering solution




                                           18
The Experts Panel

• Any Questions?
  • Submit your performance questions until the
    last lecture
  • Hit AlphaCSP’s Experts Panel with your
    questions




                                                  19

Contenu connexe

Similaire à Seminar.2009.Performance.Intro

Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Jug gridgain java_grid_computing_made_simple
Jug gridgain java_grid_computing_made_simpleJug gridgain java_grid_computing_made_simple
Jug gridgain java_grid_computing_made_simpleSubhashiniSukumar
 
Java performance monitoring
Java performance monitoringJava performance monitoring
Java performance monitoringSimon Ritter
 
JVM Under the Hood
JVM Under the HoodJVM Under the Hood
JVM Under the HoodSerkan Özal
 
Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesBruno Borges
 
Everything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native ImageEverything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native ImageAlina Yurenko
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian PerformanceAtlassian
 
A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVMAlex Birch
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsBaruch Sadogursky
 
FOSDEM 2017 - Open J9 The Next Free Java VM
FOSDEM 2017 - Open J9 The Next Free Java VMFOSDEM 2017 - Open J9 The Next Free Java VM
FOSDEM 2017 - Open J9 The Next Free Java VMCharlie Gracie
 
Simple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmSimple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmJamie Coleman
 
[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce ArchitecturePerforce
 
Непрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаНепрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаSQALab
 
Alfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMAlfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMJoram Barrez
 

Similaire à Seminar.2009.Performance.Intro (20)

JAVA FPGA An Application for Space af Jens A. Hansen, CISS
JAVA FPGA An Application for Space af Jens A. Hansen, CISSJAVA FPGA An Application for Space af Jens A. Hansen, CISS
JAVA FPGA An Application for Space af Jens A. Hansen, CISS
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Jug gridgain java_grid_computing_made_simple
Jug gridgain java_grid_computing_made_simpleJug gridgain java_grid_computing_made_simple
Jug gridgain java_grid_computing_made_simple
 
Java performance monitoring
Java performance monitoringJava performance monitoring
Java performance monitoring
 
Datastage Online Training
Datastage Online TrainingDatastage Online Training
Datastage Online Training
 
Java Performance Tuning
Java Performance TuningJava Performance Tuning
Java Performance Tuning
 
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
 
JVM Under the Hood
JVM Under the HoodJVM Under the Hood
JVM Under the Hood
 
Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on Kubernetes
 
Everything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native ImageEverything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native Image
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance
 
A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVM
 
JHipster
JHipsterJHipster
JHipster
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance Diagnostics
 
FOSDEM 2017 - Open J9 The Next Free Java VM
FOSDEM 2017 - Open J9 The Next Free Java VMFOSDEM 2017 - Open J9 The Next Free Java VM
FOSDEM 2017 - Open J9 The Next Free Java VM
 
jvm.pptx
jvm.pptxjvm.pptx
jvm.pptx
 
Simple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmSimple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvm
 
[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture
 
Непрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаНепрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кода
 
Alfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMAlfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPM
 

Seminar.2009.Performance.Intro