Obsah
vlastní kód aplikace, především jeho architekturu, příp. i kód na mikroúrovni vč. doprogramování kódu nativního
ve vazbě na běhové prostředí (HW platformu, operační systém, aplikační server atd.) navrhuje vhodnou architekturu nasazení vč. distribuce do svazků (cluster), na "cloud" apod.
ladění HW konfigurace, operačního systému, volby při spouštění javové aplikace (paměťové limity, počty vláken), bezpečnostní nastavení (Security Manager)
middleware (např. aplikační server) do značné míry určuje celkovou architekturu řešení, sám poskytuje mnoho služeb, kde výpočty tráví hodně času
totéž, výpočty mohou být v kódu knihoven převážnou část doby běhu, zde má smysl optimalizovat i na mikroúrovni; navíc jsou většinou používány jako black-box a přehlednost kódu není absolutní prioritou
překladač a běhové prostředí Javy jsou enormně důležité - podpora cílové platformy (64 bitů, vícejádrové a víceprocesorové stroje, NUMA architektury pamětí...); řadu optimalizací lze provést při překladu do bajtkódu, zbytek pak při spouštění (JIT) a běhu na cílové platformě
64 bitů, vícejádrové a víceprocesorové stroje, NUMA
-> ano
-> spíše pro PA165 a ani tam se nestihne
-> mimo rozsah PV168, PA165
-> PA165
-> ano
-> ano
-> mimo rozsah PV168, PA165
Oba garbage collectors se vylepšují.
Parallel Scavenger podporuje nyní Improved NUMA (Non Uniform Memory Access) Support pro moderní počítačové architektury (např. víceúrovňové cache paměti)
HotSpot JIT: Eliminace zbytečných převodů mezi celočíselnými typy
Optimalizace obvyklých postupů při zřetězování