java memory presentation
DESCRIPTION
TRANSCRIPT
![Page 1: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/1.jpg)
Java;Memory
Yury BubnovzStore
![Page 2: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/2.jpg)
Object o = new Object();
![Page 3: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/3.jpg)
Object o = new Object();
java.lang.OutOfMemoryError: Java heap space
![Page 4: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/4.jpg)
Object o = new Object();
java.lang.OutOfMemoryError: Java heap space
![Page 5: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/5.jpg)
Heap
![Page 6: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/6.jpg)
Heap
How many?
![Page 7: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/7.jpg)
Heap
How many?Size?
![Page 8: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/8.jpg)
class Structure{ byte b; short i; Object o;}
![Page 9: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/9.jpg)
1 2 4/8
class Structure{ byte b; short i; Object o;}
![Page 10: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/10.jpg)
class Structure{ byte b; short i; Object o;}
markmarkmark klass
2 1 1 4
![Page 11: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/11.jpg)
class Structure{ byte b; short i; Object o;}
2
8
markmarkmark klass
2 1 1 4
![Page 12: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/12.jpg)
class Structure{ byte b; short i; Object o;}
markmarkmark
klassklassklass
2 1 5
888
![Page 13: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/13.jpg)
class Structure{ byte b; short i; Object o;}
markmarkmark
klassklassklass
2 1 5
888
4
8
![Page 14: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/14.jpg)
Memory address
...01100100100111011001011000
![Page 15: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/15.jpg)
Memory address
...01100100100111011001011000
![Page 16: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/16.jpg)
Memory address
...01100100100111011001011000
32 bit pointer
![Page 17: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/17.jpg)
Memory address
...01100100100111011001011000
32 bit pointer .... to 35 bit
![Page 18: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/18.jpg)
Memory address
...01100100100111011001011000
32 bit pointer .... to 35 bit
2^35≈32GB (25-28GB Heap)
![Page 19: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/19.jpg)
Memory address
...01100100100111011001011000
32 bit pointer .... to 35 bit
2^35≈32GB (25-28GB Heap)
IBM J9: Java 6 SR1- not enabled by defaultHotspot: since Java 6u14, by default since u23
![Page 20: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/20.jpg)
class Structure{ byte b; short i; Object o;}
markmarkmarkmark
klass 1 2 1
4 444
![Page 21: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/21.jpg)
class Structure{ byte b; short i; Object o;}
3
8
markmarkmarkmark
klass 1 2 1
4 444
![Page 22: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/22.jpg)
klassklass flags flags monitormonitor 44
1 3 2 2=24b
klassklassklassklassflagsflags size*size*
monitormonitormonitormonitor8888
1 3 2 2
klass flagsflagsflagsmonitor 1 33
4 22 2
=40b
=24b
i386
x64
x64C
IBM J9
![Page 23: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/23.jpg)
What’s the object size?class Structure{ byte b; short i; Object o;}
![Page 24: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/24.jpg)
What’s the object size?
HS 32b 16b
HS 64b before u14 32b
HS 64b after u14 (u27) 24b
J9 32b 24b
J9 64b 40b
J9 64b compressed 24b
class Structure{ byte b; short i; Object o;}
![Page 25: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/25.jpg)
Mind the gap
![Page 26: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/26.jpg)
Mind the gapbyte[][][] b = new byte[10][100][1000];
![Page 27: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/27.jpg)
Mind the gap
byte[][][] b = new byte[1000][100][10];
byte[][][] b = new byte[10][100][1000];
![Page 28: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/28.jpg)
Mind the gap
byte[][][] b = new byte[1000][100][10];
byte[][][] b = new byte[10][100][1000];
1.032.344=1.000.000+8.080(r)+20.220(h)+4.044(a)
![Page 29: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/29.jpg)
Mind the gap
byte[][][] b = new byte[1000][100][10];
byte[][][] b = new byte[10][100][1000];
4.832.024=1.000.000+808.000(r)+2.020.020(h)+1.004.004(a)
1.032.344=1.000.000+8.080(r)+20.220(h)+4.044(a)
![Page 30: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/30.jpg)
Mind the gap
byte[][][] b = new byte[1000][100][10];
byte[][][] b = new byte[10][100][1000];
4.832.024=1.000.000+808.000(r)+2.020.020(h)+1.004.004(a)
1.032.344=1.000.000+8.080(r)+20.220(h)+4.044(a)
x100
![Page 31: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/31.jpg)
Mind the gap
byte[][][] b = new byte[1000][100][10];
byte[][][] b = new byte[10][100][1000];
4.832.024=1.000.000+808.000(r)+2.020.020(h)+1.004.004(a)
1.032.344=1.000.000+8.080(r)+20.220(h)+4.044(a)
x100 x100
![Page 32: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/32.jpg)
Mind the gap
byte[][][] b = new byte[1000][100][10];
byte[][][] b = new byte[10][100][1000];
4.832.024=1.000.000+808.000(r)+2.020.020(h)+1.004.004(a)
1.032.344=1.000.000+8.080(r)+20.220(h)+4.044(a)
x100 x100 x250
![Page 33: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/33.jpg)
Heap
![Page 34: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/34.jpg)
Heap
Young/Eden
Old/Tenured
![Page 35: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/35.jpg)
Heap (HS)Young/Eden
Old/Tenured
Survivor 1 Survivor 2
![Page 36: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/36.jpg)
Heap (HS)
![Page 37: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/37.jpg)
Heap (HS)
![Page 38: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/38.jpg)
Heap (HS)TLABTLH
![Page 39: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/39.jpg)
Heap (HS)TLABTLH
![Page 40: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/40.jpg)
Heap (HS)TLABTLH
![Page 41: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/41.jpg)
Heap (HS)
![Page 42: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/42.jpg)
Heap (HS)
![Page 43: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/43.jpg)
Heap (HS)
![Page 44: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/44.jpg)
Heap (HS)X X X
![Page 45: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/45.jpg)
Heap (HS)
![Page 46: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/46.jpg)
Heap (HS)
![Page 47: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/47.jpg)
Heap (HS)
![Page 48: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/48.jpg)
Heap (HS)X XX XX
X
![Page 49: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/49.jpg)
Heap (HS)
![Page 50: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/50.jpg)
Heap (HS)
![Page 51: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/51.jpg)
Heap (HS)
![Page 52: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/52.jpg)
Heap (HS)X XX XX
X
![Page 53: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/53.jpg)
Heap (HS)
![Page 54: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/54.jpg)
Heap (J9)
Young/Eden
Old/Tenured
![Page 55: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/55.jpg)
Heap (J9)
Allocation
Old/Tenured
Survivor
![Page 56: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/56.jpg)
Heap (J9)
![Page 57: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/57.jpg)
Heap (J9)
![Page 58: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/58.jpg)
Heap (J9)
![Page 59: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/59.jpg)
Heap (J9)
![Page 60: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/60.jpg)
Heap (J9)
![Page 61: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/61.jpg)
Garbage Collection
![Page 62: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/62.jpg)
Garbage Collection1. Starts if allocation fails or System.gc()* called or condition met
![Page 63: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/63.jpg)
Garbage Collection1. Starts if allocation fails or System.gc()* called or condition met
2. Stop-of-the-world operation
![Page 64: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/64.jpg)
Garbage Collection1. Starts if allocation fails or System.gc()* called or condition met
2. Stop-of-the-world operation
3. Mark, Sweep and Compact*
![Page 65: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/65.jpg)
Mark
![Page 66: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/66.jpg)
Mark
![Page 67: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/67.jpg)
MarkPermGen
Stack
JNI
Stack Stack
![Page 68: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/68.jpg)
MarkPermGen
Stack
JNIX X
X
X
Stack Stack
![Page 69: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/69.jpg)
Mark
A
B C
DE
![Page 70: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/70.jpg)
A B0 0 0
C D E0 0 0 0 0 0 0 0 0 0
Mark
A
B C
DE
![Page 71: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/71.jpg)
1A B
0 0C D E0 0 0 0 0 0 0 0 0 0
A
Mark
A
B C
DE
![Page 72: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/72.jpg)
1A B
0C D E
0 0 0 0 0 0 0 0 0
Mark
A
B C
DE
BC
1 1
![Page 73: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/73.jpg)
1A B
0C D E
0 0 0 0 0 0 0 0
Mark
A
B C
DE CE
1 1 1
![Page 74: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/74.jpg)
1A B
0C D E
0 0 0 0 0 0 0 0
Mark
A
B C
DE E
1 1 1
![Page 75: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/75.jpg)
1A B
0C D E
0 0 0 0 0 0 0 0
Mark
A
B C
DE
1 1 1
![Page 76: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/76.jpg)
1A B C D E
0 0 0
Mark
A
B C
DE
1 1 11 1 1 1 1 1
![Page 77: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/77.jpg)
1A B C D E
0 0 0
Mark
A
B C
DE
1 1 11 1 1 1 1 1
![Page 78: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/78.jpg)
References
![Page 79: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/79.jpg)
References1. Strong - always marked
2. Soft - not marked if too old or need memory
3. Weak - not marked if no strong reference
4. Phantom - correct implementation of finalize() method
![Page 80: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/80.jpg)
Mark
![Page 81: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/81.jpg)
MarkSerial
![Page 82: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/82.jpg)
Mark
![Page 83: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/83.jpg)
MarkParallel
![Page 84: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/84.jpg)
MarkPermGen
JNI
Stack Stack Stack
![Page 85: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/85.jpg)
MarkPermGen
JNI
Stack Stack Stack
![Page 86: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/86.jpg)
MarkPermGen
JNI
Stack Stack Stack
![Page 87: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/87.jpg)
MarkPermGen
JNI
Stack Stack Stack
![Page 88: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/88.jpg)
MarkPermGen
JNI
Stack Stack Stack
![Page 89: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/89.jpg)
MarkPermGen
JNI
Stack Stack Stack
![Page 90: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/90.jpg)
MarkPermGen
JNI
Stack Stack Stack
![Page 91: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/91.jpg)
MarkPermGen
JNI
Concurrent
Stack Stack Stack
![Page 92: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/92.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 93: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/93.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 94: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/94.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 95: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/95.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 96: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/96.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
Serial
![Page 97: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/97.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
... 1 0 0 1 1 1 0 0 0 1 1 ...
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 98: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/98.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
... 1 0 0 1 1 1 0 0 0 1 1 ...
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 99: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/99.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
Parallel
... 1 0 0 1 1 1 0 0 0 1 1 ...
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 100: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/100.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 101: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/101.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 102: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/102.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 103: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/103.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 104: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/104.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
![Page 105: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/105.jpg)
Sweep
... 1 0 0 1 1 1 0 0 0 1 1 ...
Concurrent
![Page 106: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/106.jpg)
1 1 0 0 1 1 1 0 0 0 1 1 ...
Compact
1 1 1 1 1 1 1 0 0 0 0 0 ...
![Page 107: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/107.jpg)
Garbage Collection
Serial Parallel Concurrent
Which one to choose?
![Page 108: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/108.jpg)
Heap (J9)
Allocation
Old/Tenured
Survivor
![Page 109: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/109.jpg)
PermGen
![Page 110: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/110.jpg)
PermGen
BootstrapSystem
![Page 111: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/111.jpg)
PermGen
BootstrapSystem Ext
![Page 112: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/112.jpg)
PermGen
BootstrapSystem Ext Web
App
![Page 113: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/113.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
![Page 114: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/114.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
WebApp
![Page 115: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/115.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
WebApp
WebApp
![Page 116: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/116.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
WebApp
WebApp
WebApp
![Page 117: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/117.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
WebApp
WebApp
WebApp
java.lang.OutOfMemoryError: PermGen space
![Page 118: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/118.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
WebApp
WebApp
![Page 119: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/119.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
WebApp
WebApp
Heap
![Page 120: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/120.jpg)
PermGen
BootstrapSystem Ext Web
AppWebApp
WebApp
WebApp
Stack
Heap
![Page 121: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/121.jpg)
Stack
![Page 122: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/122.jpg)
Stack
![Page 123: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/123.jpg)
Stack
![Page 124: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/124.jpg)
Stack
![Page 125: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/125.jpg)
Stack
![Page 126: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/126.jpg)
Stack
![Page 127: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/127.jpg)
Stack
java.lang.StackOverflowError
![Page 128: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/128.jpg)
Memory
![Page 129: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/129.jpg)
Memory
Allocation
Old/Tenured
Survivor
![Page 130: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/130.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
![Page 131: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/131.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
Stack Stack Stack
![Page 132: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/132.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen GC
Stack Stack Stack
![Page 133: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/133.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
JNI
GC
Stack Stack Stack
![Page 134: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/134.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
JNI
GC
Net
Stack Stack Stack
![Page 135: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/135.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
JNI
GC
Net
NIO
Stack Stack Stack
![Page 136: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/136.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
JNI
GC
Net
NIO
JIT
Stack Stack Stack
![Page 137: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/137.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
JNI
GC
Net
NIO
JIT
CL
Stack Stack Stack
![Page 138: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/138.jpg)
Memory
Allocation
Old/Tenured
Survivor
PermGen
JNI
GC
Net
NIO
JIT
CL
Stack Stack Stack C++
![Page 139: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/139.jpg)
Paging
![Page 140: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/140.jpg)
Paging1. Linux/Windows use Virtual memory and “paging” to reference physical
2. Pages mapped to physical only when referenced
3. OS manages pages
![Page 141: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/141.jpg)
Real size of Java Process?
![Page 142: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/142.jpg)
Real size of Java Process?1. Architecture: 32 vs 64
![Page 143: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/143.jpg)
Real size of Java Process?1. Architecture: 32 vs 64
2. JVM vendor: Oracle vs IBM
![Page 144: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/144.jpg)
Real size of Java Process?1. Architecture: 32 vs 64
2. JVM vendor: Oracle vs IBM
3. JVM version incl. update
![Page 145: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/145.jpg)
Real size of Java Process?1. Architecture: 32 vs 64
2. JVM vendor: Oracle vs IBM
3. JVM version incl. update
4. JVM settings
![Page 146: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/146.jpg)
Real size of Java Process?1. Architecture: 32 vs 64
2. JVM vendor: Oracle vs IBM
3. JVM version incl. update
5. OS (above applies)
4. JVM settings
![Page 147: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/147.jpg)
Real size of Java Process?1. Architecture: 32 vs 64
2. JVM vendor: Oracle vs IBM
3. JVM version incl. update
5. OS (above applies)
+ Run under real load for long time
4. JVM settings
![Page 148: Java memory presentation](https://reader037.vdocuments.us/reader037/viewer/2022102922/54c642434a7959ba0b8b461f/html5/thumbnails/148.jpg)
?