[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/SpartaHao/JavaTechnologyStack/main/JVM3 [Back]  [Original]

14. cmsG1
 jvm
SerialParNewParallel Scavenge
Serial OldParallel OldCMS
G1[]

Serial + Serial Old; ParNew + CMS; Parallel Scavenge + Parallel Old



Parallel
ConcurrentCPU

 jdkjava -XX:+PrintCommandLineFlags -version

JDK7u4JDK7uJDK8-XX:+UseParallelGCXX:+UseParallelOldGCjdk8
Parallel Scavenge() + Parallel OldPS + PO

 SerialCPUClientCPUSerial

Serial OldSerial-ClientServerJDK 1.5Parallel ScavengeCMSConcurrentMode Failure


ParNewSerialSerialStop The WorldSerialServerSerialCMS
ParNewCPUSerialCPUSerialCPUGCCPUCPU-XXParallelGCThreads
ParNewParallel ScavengeCMS


Parallel ScavengeCMSParallel ScavengeThroughputCPUCPU=/+100199%CPUParallel Scavenge
Parallel Scavenge-XXMaxGCPauseMillis-XXGCTimeRatio
MaxGCPauseMillis0GC300MB500MB101005
70
GCTimeRatio010019GC5%1/1+19991%1/1+99
Parallel Scavenge-XX+UseAdaptiveSizePolicy-XmnEdenSurvivor-XXSurvivorRatio-XXPretenureSizeThresholdGCParallel ScavengeParNew

Parallel OldParallel Scavenge-JDK 1.6


CMSConcurrent Mark SweepJDK 1.5HotSpotConcurrent
CMSJDK 1.4.0Parallel Scavenge[1]JDK 1.5CMSParNewSerial
STWGC4
CMS initial markSTW
CMS concurrent markGC RootsTracing
CMS remarkSTW
CMS concurrent sweepGC


CMS3
 CMSCPUCPU
 CMSFloating GarbageConcurrent Mode FailureFull GCCMSCMSGCCMSCMSConcurrent Mode FailureSerial Old-XXCMSInitiatingOccupancyFractionConcurrent Mode Failure
 CMSFullGCCMS-XX+UseCMSCompactAtFullCollectionCMSFullGC

 G1Garbage-FirstGCG1
 G1GC
 G1
 GCG1G1JavaJavaRegionRegion
 CMSG1RegionG1GC
 G1G1RegionRegionGarbage-First
 soft real-timeG1G190%

G1(Region)512 Byte(Card)(Global Card Table)(RSet)
https://blog.csdn.net/fedorafrog/article/details/104503829/

G1RegionRemembered SetG1RegionRemembered SetReferenceWrite BarrierReferenceRegion
CardTableRegionRemembered SetGCRemembered Set

Remembered SetG1
Initial Marking:GC RootsTAMSNext Top at Mark Start
Region;
Concurrent Marking:GC Root;
Final Marking:Remembered Set LogsRemembered Set LogsRemembered Set
Live Data Counting and Evacuation:RegionGCSunRegion,STW;


G1OracleG1G1G1G1G1


 CMSG1
remarkD


1.
2.



incremental updateCMS


SATB snapshot at the beginning>  GCGCG1
satb satb

SATB  write barrier BBAStop The World G1 Remark Stop The World  CMSremark write barrier   CMS remark CMS remark
http://www.javashuo.com/article/p-yjwwjukv-gk.html

G1SATBincremental update
incremental update
G1RSetSATBCard TableRSetRSetRSet
 >  >pushRSetSATBRSet

https://blog.csdn.net/fedorafrog/article/details/104503829/

15. JVM
 
-Xms:1/64
-XmxMaxHeapSize:1/480%
cpu

-XX:NewSize-Xns
-XX:MaxNewSize-Xmn
-XssStack Space,512K
-XX:NewRatio:3131/4
-XX:SurvivorRatio:EdenSurvivorSurvivor8Survivor :eden=2:8Survivor1/10
-XX:+HeapDumpOnOutOfMemoryError
-XX:MaxTenuringThreshold:0
-XX:OnOutOfMemoryErrorOOM-XX:OnOutOfMemoryError=D:/tools/jdk1.7_40/bin/printstack.bat %p%pid pid
-XX:PermSize-XX:MaxPermSize:Java8
-XX:MetaspaceSize-XX:MaxMetaspaceSize:Java8
 
-XX:+UseSerialGC:
-XX:+UseParallelGC:
-XX:+UseParalledlOldGC:
-XX:+UseConcMarkSweepGC:
 
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
 
-XX:ParallelGCThreads=n:CPU
-XX:MaxGCPauseMillis=n:
-XX:GCTimeRatio=n:1/(1+n)
 
-XX:+CMSIncrementalMode:CPU
-XX:ParallelGCThreads=n:CPU

16. JVM
 stop the worldjavafull gcSTW
 mimor gcssurviorGC.
arthasjmapjmap -histoJmap

17. Object o = new Object() 
 16
markword8classpoint4Instance data128Padding416
markword8classpoint8Instance data16

18. HotSpot

javalength
https://www.jianshu.com/p/d42ac3ab41f7

MarkWordClass Pointer
 MarkWord
328641612markword
:32bit/64bit32bit25bit4bit2bit1bit0


markOopsynchronized[synchronized]

 ClassPointer:Class324648

 Length:4


()
:doublelong

(Padding)
JVMHotSpot88


-XX:+UseCompressedOops JVMlasspointer

19. 
 Student s = new Student();
Student.class
s




s

20. 
 cpucpucpucpucpu() - 
cpu(L1,L2,L3) CPUcpu

 CPU


(Memory Barrier)
CPUCPUL1,L2,L3CPU

Load Barrier  Store Barrier
:
(Store Barrier)


1.cpu
2./

 volatile
volatilevolatile

volatile

,,,volatile
volatilevolatile++

volatilevolatilemesicpucpucpu
https://www.jianshu.com/p/76959115d486

Web Proxy Viewer  |  New URL  |  Original Page