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.5k
JavaとGroovyで書かれたGradleプラグインをKotlinで書き直した話 / Converted a Gradle plugin from Groovy&Java to Kotlin
eller86
0
1.5k
ヒューマンスキル / The Humanskills
eller86
0
690
医療機関向けシステムの信頼性 / Reliability of systems for medical institutions
eller86
0
410
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.2k
Java8〜16におけるバイトコード生成の変化 / Changes of Bytecode Generation from Java 8 to 16
eller86
4
4.5k
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
210
アジャイルテストで高品質のスプリントレビューを
takesection
0
140
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
760
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
1
1.4k
Webアクセシビリティ入門
recruitengineers
PRO
3
1.2k
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.3k
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
4
890
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
1
320
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
6
770
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
300
モダンフロントエンド 開発研修
recruitengineers
PRO
7
4.5k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.6k
The Pragmatic Product Professional
lauravandoore
36
6.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Into the Great Unknown - MozCon
thekraken
40
2k
Balancing Empowerment & Direction
lara
3
600
Facilitating Awesome Meetings
lara
55
6.5k
We Have a Design System, Now What?
morganepeng
53
7.8k
For a Future-Friendly Web
brad_frost
179
9.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
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Ր༵