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 in .NET Framework
Search
tanaka_733
October 26, 2013
Technology
3k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Garbage Collection in .NET Framework
プログラミング.NET Framework 第4版 座談会 での発表資料
tanaka_733
October 26, 2013
More Decks by tanaka_733
See All by tanaka_733
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
tanaka733
2
11k
Calling PowerShell from CSharp
tanaka733
0
2k
New Features in Visual Studio 2013
tanaka733
0
1.1k
Starting Unity for Windows Store App
tanaka733
0
880
とあるインフラエンジニアのAzure活用
tanaka733
2
620
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.9k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Windows ストアアプリで Push通知を使いこなそう
tanaka733
0
2.1k
Other Decks in Technology
See All in Technology
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
150
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
140
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
200
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
240
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
110
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
3
2.8k
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
230
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
910
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
120
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.6k
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
600
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
0
670
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
930
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
Documentation Writing (for coders)
carmenintech
77
5.5k
Designing for humans not robots
tammielis
254
26k
GitHub's CSS Performance
jonrohan
1033
470k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
Transcript
None
http://tech.tanaka733.net http://www.buildinsider.net/web/iis8 http://metrostyledev.net/
None
Building a Faster Ruby Garbage Collector Twitterが、Ruby on RailsからJavaVMへ移行する理由 Ruby
2.1がガベージコレクションを変更,大規模システムでの批 判に対処
None
Garbage Collection
None
ネイティブヒープ (OS) 仮想アドレス空間(GCセグメント) .NET CLRが管理 32bitプロセス:1.5GB 近く、64bit: 8TB近くまで
マネージヒープ
None
Rocksee on Flickr viaESP
マーキング 再配置 コンパクション
None
None
空き 空き
空き 空き
空き
None
Ctd 2005 on Flickr viaESP
オブジェクトが新しいほど、生存期間は短い オブジェクトが古いほど、生存期間は長い ヒープの一部分の回収は、全体の回収より高速
gen 0 gen 1 gen 2
gen 0 gen 1 gen 2
gen 0 gen 1 gen 2
None
None
None
None
None
None
None
None
None
None
None
None
None
class MyClass { ~MyClass() { //Finalizeメソッド } }
James Cridland on Flickr viaESP
System.IDisposable static void Main(string[] args) { FileStream fs = null;
try { fs = new FileStream("Temp.txt", FileMode.Create); fs.Write(new byte[]{1, 2, 3, 4}, 0 , 4); } finally { if (fs != null) { fs.Dispose(); } } } static void Main(string[] args) { using (var fs = new FileStream("Temp.txt", FileMode.Create)) { fs.Write(new byte[] { 1, 2, 3, 4 }, 0, 4); } }
None
None
None
http://msdn.microsoft.com/ja-jp/library/fs2xkftw(v=vs.110).aspx public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
None
None
None
None
None
None
None
None
http://msdn.microsoft.com/ja- jp/library/vstudio/ee851764(v=vs.110).aspx
None
None
プログラミング .NET Framework 第4版 http://msdn.microsoft.com/ja- jp/library/vstudio/hh156531(v=vs.110).aspx C#プログラマのための.NETアプリケーション最適化技法
using
None
None