Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Anika Technologies

Your Transforming Partner

JVMandJavaPerformanceTuning
TrainingContents

Description
IntendedAudience
Prerequisites
InstructionalMethod
coursecontents

:+917720092936/9766640192

Email:sales@anikatechnologies.com

JVMandJavaPerformance
Tuning
CourseContents

page4UnderstandingVirtualMemoryDay1
GarbageCollectionandMemoryArchitecture
ReferenceObjects
GarbageCollectionandPerformanceTips
CommonTuningOptions
GarbageCollectionAdvancedTuning
ScenariosDay2
JVMArchitectureandDynamicCompilation
AdvancedJVMArchitecturePart1
AdvancedJVMArchitecturePart2
UnderstandingandControllingJVMOptions
MonitoringJITDay3
Tuninginlining
MachineCodewithDebugInfo
UnderstandingJavapandVMOpcodesfor
Tuning
NIO
NIO2.0Day4
Classloading
AdvancedClassloading
JMX
ProfilingTools

Description:

FocusofthetrainingistomakeJVMandJavaperformancetuningclearandsimple

aspossiblefortheparticipantsatthedesign,architectureand,implementationlevels.
Thisisanendtoendtraining.TheTrainingillustratesalmosteveryconceptwiththe
helpofpicturesbecauseitismucheasiertounderstandtheconceptpictoriallyand
modelcode.Therearealotofillustrationsinthecourseofthetraining.Thereare
workedoutexamplestoillustratetheconceptsforalmosteverytopic.Thereisa
detailedcasestudythatstringstogetherallconceptsandtechnology.

IntendedAudience:

Thetargetgroupisprogrammerswhowanttoknowfoundationsofconcurrent
programmingandexistingconcurrentprogrammingenvironments,inorder,nowor
infuture,todevelopmultithreadedapplicationsformulticoreprocessorsandshared

memorymultiprocessors.
JavaConsultants,developersoranyonewithJavaexperienceinterestedin

performancetesting.

Prerequisites:

Someexperiencewithdistributedtechnologies.GoodKnowledgeofJava.

WorkingknowledgeofanydatabaseWorkstationwithJDK1.7.0installed

InstructionalMethod:

Thisisaninstructorledcourseprovideslecturetopicsandthepracticalapplicationof

Javaandtheunderlyingtechnologies.
Itpictoriallypresentsmostconceptsandthereisadetailedcasestudythatstrings

togetherthetechnologies,patternsanddesign.

JVMandJavaPerformance
Tuning

UnderstandingVirtualMemory

GarbageCollectionandMemoryArchitecture

HeapFragmentation

GCProsandCons

ObjectSize

Algorithms

Overview

Performance

GCTasks

Reachability

ManagingOutOfMemoryError

GenerationalSpaces

MeasuringGCActivity

History
Summary
OldSpace
YoungSpace
JVM1.4,5,6

ReferenceObjects

ReferenceObjects
PhantomReference
WeakHashMap
SoftReference
ReferenceQueue
ObjectReachability
WeakReference
UsingReferences
Abstracting

SoftHashMap

PerformanceImplications

GarbageCollectionandPerformanceTips

ProgrammingTips
LargeObjectofdifferentsizes
ObjectPooling
ReferenceObjects
ObjectAllocation
ProblemswithFinalization

CommonTuningOptions

Heapsizing
GCpolicy
BeawareofErgonomicsettings
Othertuningparameters
TuningforLowpausetime
Tuningforthroughput

GarbageCollectionAdvancedTuningScenarios

AdvanceTuningScenariosPart2
JDK5,6,7defaults
DefaultFlags
GarbageCollectionDataofInterest

TuningGCForThroughputandLatency

Latency
Old(Parallel)

Perm

Young(Parallel)

PsetConfiguration

TenuringDistribution

InitiatingOccupancy

CommonScenarios

SurvivorRatio

Old(CMS)

Tenuringthreshold
m

(ParallelGC)

CondCardmark

AdaptiveSizing

Tlabs

LargePages

Numa

Througput

PsetConfiguration

CMS
ConcurrentModeFailure

MonitoringGC
ParNew
ParallelGC
SafePointing
TimeStamps
DateStamps
System.GC

AdvanceTuningScenariosPart1

MonitoringtheGC

Conclusions

GCTuning

TuningParallelGC
TuningCMS
Tuningtheyounggeneration

GCTuningMethodology
DeploymentModel
ChoosingRuntime
GeneralGuideLines
DataModel

HeapSizing
FactorControllingHeapSizing

JVMArchitectureand
DynamicCompilation

AggressiveInlining

Biasedlocking

ClientVM

Loopunrolling

ServerVM

DataFlowanalysis

DynamicCompilation

OSR

DeadCodeElimination

CodeHoisting

AdvancedJVMArchitecture
Part1

NUMA

Inlinecaching

VirtualmethodcallsDetails

VirtualMachineDesign

DynamicCompilation

LargePages

BiasedLocking

LockCoarsening

StandardCompilerOptimizations

SpeculativeOptimizations

EscapeAnalysis

ScalarReplacements

InliningDetails

VMPhilosophy

AdvancedJVMArchitecture
Part2

JIT

Mixedmode

GoldenRule


ofiling
P

r Optimizations

Understanding and Controlling JVM


Options

DoEscapeAnalysis

AggressiveOpts

BiMorphic
MegaMorphic
MonoMorphic

HotSpot
Client
Server
Tiered
Deoptimizations
BackingOff
PrintCompilation
OSR
LogCompilations
Optimizations
PrintInlining

Intrinsics
Commonintrinsics

Tuninginlining

Polymorphic

MonitoringJIT

CallSites

MaxInlineSize
InlineSmallCode
MaxInline
MaxRecursiveInline
FreqInlineSize

MachineCodewithDebugInfo

PrintingAssembly

UnlockingDiagnostics

PrintOptoAssembly

UnderstandingJavapandVMOpcodesforTuning

Constantvalues
StackOperations
Opcodes
FlowControl
JVMStack
Localvariables
StackJuggling

NIO

CharacterStreamsEncoding
OtherCharsetsISO8859
Big/LittleEndian
FormsofUnicode
32bitCharacters
CodePoints
CharsetClass
OtherEncodings
TheUnicodeStandard
EncodersandDecoders

JavaNewIOPackage
NonBlockingOperations
BuffersAdvantages
Selectors
Channels
AllocatingBuffers
MotivationforUsing
MemoryMappedFiles
WorkingwithBuffers

NIOUses

EventDrivenArchitecture

NIO2.0

Classloading

AdvancedClassloading

JMX

FileSystemChangeNotification

Multicasting

FileandDirectories

SymbolicLinks

WatchServiceAPI

MetadataFileAttributes

TwoSecuritymodels

FileVisitorClass

Workingwithpath

SPIPackage

AsynchronousIOwithSocketandFile
CommonClassloadingIssues

Changingtherulesofdefaultclassvisibility

ClassLoadingBasics

Introduction

Diagnosingandresolvingclassloadingproblems

CustomClassLoaders

Classvisibility
Understandingvisibilityrules

AdvantagesofPeerClassloading

HotLoading

IllegalAccessException

ClassCastException

PeerClassloading

Understandingdelegationrules

LinkageError

Problemswiththeserules.
Introduction

DynamicMbeans
OpenMbean
StandardMbeans
JMXRemoting
AdvancedFeatures
J2EEManagement(optional)

ModelMbean

ProfilingTools

Performance
ProgrammingTips

AbuseoftheStringclass

Arraycopy

Creating

intermediate
objects

Wrongcollections

PrimitiveandObjects

Mutablereturntypes

Profilingwith
NetbeansorVisualVM

Architecture

and
Technologiesused

Issues with Traditional


ProfilingSchemes

What is new in NetBeans


Profiler6.x?

Features

Introduction (of NetBeans


profiler)

ProfilingUsing
EclipseTPTP

AgentController

ArchitectureComponents

Objectives

Architecture

P
Structure

r
ProfilingJavaSE
o
Memory
j

e Memoryprofilingtools

c Generationcount

Memory leak profiling

strategies

Heapprofilingstrategies

Identifyingproblemmemoryusagepatterns

Whentousewhattools?

Mobile:+917719882295/9730463630
Email:sales@anikatechnologies.com
Website:www.anikatechnologies.com

You might also like