- PR -

CLRはアプリケーション動作中、何をしているのでしょうか?

1
投稿者投稿内容
aco
会議室デビュー日: 2003/02/10
投稿数: 1
投稿日時: 2003-02-10 18:17
教えて下さい。

CLRは、アプリケーションの実行中、
オブジェクトのライフタイム管理及びオブジェクト
への参照を管理し、メモリの解放等を行っていると
理解していますが、この際、具体的には何をやって
いるのでしょうか?

特に、”オブジェクト”が具体的に指すものが気に
なっています。”クラス”なのか”インスタンス”
なのか、それとも”メソッド”又は”プロパティ”
なのでしょうか?

オブジェクトのライフタイム管理というと、クラスから
インスタンスが生成され、該インスタンスが消滅する
までの管理を行うのでしょうか?
その場合、オブジェクトの参照とは、インスタンス内の
各メソッド実行中に他のクラスのメソッドをコールする
ことだと理解してもいいのでしょうか?

また、上記の場合、ライフタイム管理はインスタンスの
存在する間の管理ということになると思いますが、その
中でどのメソッドやプロパティが呼出されたかの管理は
行わないのでしょうか?行う場合はどういう管理を行う
のでしょうか?

CLRがアプリケーションの実行中に管理しているデータ
はどのような項目なのでしょうか?

初歩的な質問で申し訳ありませんがご教示頂けますと
幸いです。宜しくお願いいたします。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-02-10 18:23
まずはこの本を読まれるとよいかと。
http://www.atmarkit.co.jp/fdotnet/bookreview/prog_dotnetfw/prog_dotnetfw.html
未記入
ぬし
会議室デビュー日: 2002/03/28
投稿数: 255
投稿日時: 2003-02-10 19:44
>CLRは、アプリケーションの実行中、
>オブジェクトのライフタイム管理及びオブジェクトへの参照を
>管理し、メモリの解放等を行っていると理解していますが、
>この際、具体的には何をやっているのでしょうか?
少々回りくどい言い方をしてますが,
これって要するにGCということでは?

#参照を管理し,必要に応じて死んだインスタンスを識別,
#その領域を回収して利用可能な状態にする.
#「死んだ」というのは「マーキングルートより到達不可能である」
#ことで,必ずしも「ユーザーが今後利用するつもりがない」と
#同じではない.
#GCなら参考文献は山ほどあります.

まあ,仮想マシンはなにもGCだけを行ってるわけじゃないでしょうけどね.
1

スキルアップ/キャリアアップ(JOB@IT)