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
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Garbage Collection of Oracle JDK6
A simple introduction for GC, mainly about Oracle JDK6.
Kengo TODA
June 13, 2012
More Decks by Kengo TODA
See All by Kengo TODA
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
160
生成AI 業務応用向けガイドライン 斜め読み / Overview of Generative AI Business Application Guidelines
eller86
0
200
KotlinユーザのためのJSpecify入門 / JSpecify 101 for Kotlin Devs
eller86
0
2k
JavaとGroovyで書かれたGradleプラグインをKotlinで書き直した話 / Converted a Gradle plugin from Groovy&Java to Kotlin
eller86
0
1.9k
ヒューマンスキル / The Humanskills
eller86
0
770
医療機関向けシステムの信頼性 / Reliability of systems for medical institutions
eller86
0
530
Server-side Kotlinを使うスタートアップでどんなDetektルールが育ったか / Detekt rules made in start-up working with Server-side Kotlin
eller86
0
1.7k
Java開発者向けのKotlin Gradleビルドスクリプト入門 / Gradle Build Script in Kotlin 101
eller86
1
2.2k
Goodbye JSR305, Hello JSpecify!
eller86
2
5.6k
Other Decks in Technology
See All in Technology
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
160
Claude Code 珍プレー好プレー
shinyasaita
0
310
CIで使うClaude
iwatatomoya
0
230
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
3.2k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
280
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
140
ADDF - ループエンジニアリングするフレームワークを作ったら/I Didn't Set Out to Build Loop Engineering, But ADDF Did
fruitriin
0
110
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
1
310
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
160
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
1
100
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
200
Featured
See All Featured
Docker and Python
trallard
47
3.9k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
For a Future-Friendly Web
brad_frost
183
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
600
The SEO Collaboration Effect
kristinabergwall1
1
500
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Unsuck your backbone
ammeep
672
58k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
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Ր༵