Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Garbage Collection of Oracle JDK6
Search
Kengo TODA
June 13, 2012
Technology
1
170
Garbage Collection of Oracle JDK6
A simple introduction for GC, mainly about Oracle JDK6.
Kengo TODA
June 13, 2012
Tweet
Share
More Decks by Kengo TODA
See All by Kengo TODA
生成AI 業務応用向けガイドライン 斜め読み / Overview of Generative AI Business Application Guidelines
eller86
0
120
KotlinユーザのためのJSpecify入門 / JSpecify 101 for Kotlin Devs
eller86
0
1.6k
JavaとGroovyで書かれたGradleプラグインをKotlinで書き直した話 / Converted a Gradle plugin from Groovy&Java to Kotlin
eller86
0
1.6k
ヒューマンスキル / The Humanskills
eller86
0
700
医療機関向けシステムの信頼性 / Reliability of systems for medical institutions
eller86
0
420
Server-side Kotlinを使うスタートアップでどんなDetektルールが育ったか / Detekt rules made in start-up working with Server-side Kotlin
eller86
0
1.5k
Java開発者向けのKotlin Gradleビルドスクリプト入門 / Gradle Build Script in Kotlin 101
eller86
1
1.9k
Goodbye JSR305, Hello JSpecify!
eller86
2
5.3k
Java8〜16におけるバイトコード生成の変化 / Changes of Bytecode Generation from Java 8 to 16
eller86
4
4.5k
Other Decks in Technology
See All in Technology
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
690
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
450
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
160
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
2
940
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
160
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
360
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
200
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
200
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
150
The Cake Is a Lie... And So Is Your Login’s Accessibility
leichteckig
0
100
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
300
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
240
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Designing for humans not robots
tammielis
254
26k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.7k
Designing Experiences People Love
moore
142
24k
Practical Orchestrator
shlominoach
190
11k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Docker and Python
trallard
46
3.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Scaling GitHub
holman
463
140k
Transcript
GarbageCollection Don’t you need to pay attention for memory? Kengo
TODA 2012/June/13 126݄12Ր༵
Summary for previous Object size = size of header +
Σ (field). Array requires contiguous space to store. Why we have to care? 126݄12Ր༵
Answer: Generational Garbage Collection cannot handle too long contiguous space
effectively 126݄12Ր༵
What’s GC? Memory management algorithm The reason why we don’t
have to `free` in Java 126݄12Ր༵
Type of GC Mark and sweep garbage collection Copying garbage
collection Generational garbage collection Garbage first garbage collection (G1GC) etc. 126݄12Ր༵
Currently we use... Generational garbage collection with copying GC for
new generation with mark & sweep GC for old generation 126݄12Ր༵
What is Generation? Divide heap into 4 areas Tenured area
is ‘old generation’ and others belongs to ‘new generation’ Survivor 1 Survivor 2 Eden Tenured new old 126݄12Ր༵
What is Generation? All data are stored in Eden area
at 1st Data is moved by GC Survivor 1 Survivor 2 Eden Tenured new old 126݄12Ր༵
What is Generation? Object data cannot span border If there
is no space to put data in specified area, we have to boot GC to keep space Survivor 1 Survivor 2 Eden Tenured new old NG OK OK 126݄12Ր༵
key point Long contiguous space is danger because Throw OOME
if it’s longer than heap area (not whole heap size) Boot GC and slow JVM 126݄12Ր༵
References The Java™ Virtual Machine Specification Sensible Sanitation -- Understanding
the IBM Java Garbage Collector 126݄12Ր༵