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
4
2.8k
Garbage Collection in .NET Framework
プログラミング.NET Framework 第4版 座談会 での発表資料
tanaka_733
October 26, 2013
Tweet
Share
More Decks by tanaka_733
See All by tanaka_733
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
tanaka733
2
9.4k
Calling PowerShell from CSharp
tanaka733
0
1.6k
New Features in Visual Studio 2013
tanaka733
0
1k
Starting Unity for Windows Store App
tanaka733
0
800
とあるインフラエンジニアのAzure活用
tanaka733
2
550
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.7k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Windows ストアアプリで Push通知を使いこなそう
tanaka733
0
1.9k
Other Decks in Technology
See All in Technology
インシデントキーメトリクスによるインシデント対応の改善 / Improving Incident Response using Incident Key Metrics
nari_ex
0
3.4k
LLM活用の現在とこれから:LayerXにおける事例とともに 2025/1 ver. / layerx-llm-202501
yuya4
3
260
信頼性を支えるテレメトリーパイプラインの構築 / Building Telemetry Pipeline with OpenTelemetry
ymotongpoo
9
4.5k
2025-01-24-SRETT11-OpenTofuについてそろそろ調べてみるか
masasuzu
0
170
[TechNight #86] Oracle GoldenGate - 23ai 最新情報&プロジェクトからの学び
oracle4engineer
PRO
1
110
大学教員が押さえておくべき生成 AI の基礎と活用例〜より効率的な教育のために〜
soh9834
1
180
財務データを題材に、 ETLとは何であるかを考える
shoe116
5
1.9k
Mocking your codebase without cursing it
gaqzi
0
150
第27回クラウド女子会 ~re:Invent 振り返りLT会~ 宣言型ポリシー、使ってみたらこうだった!
itkr2305
0
280
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
150
もし今からGraphQLを採用するなら
kazukihayase
4
2k
ドメイン駆動設計によるdodaダイレクトのリビルド実践 / Rebuild practice of doda direct with domain-driven design
techtekt
0
490
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How STYLIGHT went responsive
nonsquared
96
5.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
11
900
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Navigating Team Friction
lara
183
15k
Raft: Consensus for Rubyists
vanstee
137
6.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
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