Class

NSGarbageCollector

A convenient interface to the garbage collection system. ガベージコレクションシステムに対する便利なインターフェイス。

Declaration 宣言

@interface NSGarbageCollector : NSObject

Overview 概要

Cocoa’s garbage collector is a conservative generational garbage collector. It uses “write-barriers” to detect cross generational stores of pointers so that “young” objects can be collected quickly. Cocoaのガベージコレクタは、世代保存のガベージコレクタです。それは “write-barriers” を使って、世代的にまたがってポインタの格納を捜します、なので “若い” オブジェクトは素早く収集されることができます。

You enable garbage collection (GC) by using the -fobjc-gc compiler option. This switch causes the generation of the write-barrier assignment primitives. You must use this option on your main application file and all others used by the application, including frameworks and bundles. Bundles are ignored if they are not GC-capable. あなたは、ガベージコレクション(GC)を-fobjc-gc compilerを使うことによって利用可能にします。このスイッチは、write-barrier割り当ての世代がプリミティブになるようにします。あなたは、このオプションをあなたのメインアプリケーションファイルおよびアプリケーションによって使われる他のもの全て上で使わなければなりません、フレームワークとバンドルを含めて。バンドルそれらは、もしそれらがGC能力があるならば無視されます。

The collector determines what is garbage by recursively examining all nodes starting with globals, possible nodes referenced from the thread stacks, and all nodes marked as having “external” references. Nodes not reached by this search are deemed garbage. Weak references to garbage nodes are then cleared. コレクタは、何がガベージ(ゴミ)かを、全てのノードをグローバルなもので開始して、スレッドスタックから参照される可能性のあるノード、そして “外部” 参照を持つと印される全てのノードを再帰的に調査することによって決定します。この検索によって到達されないノードは、ガベージ(ゴミ)と判断されます。ガベージノードに対する弱い参照は、そのとき排除されます。

Garbage nodes that are objects are sent (in an arbitrary order) a finalize message, and after all finalize messages have been sent their memory is recovered. It is a runtime error (referred to as “resurrection”) to store a object being finalized into one that is not. For more details, see Implementing a finalize Method in Garbage Collection Programming Guide. オブジェクトであるガベージノードは、finalizeメッセージを(気まぐれな順序で)送られます、そして全てのfinalizeメッセージが送られてしまった後にそれらのメモリは再生されます。ファイナライズされているオブジェクトをそうでないものへと格納することは、ランタイムエラーです( “resurrection 復活” と呼ばれます)。さらなる詳細として、ファイナライズメソッドの実装をGarbage Collection Programming Guideで見てください。

You can request collection from any thread (see collectIfNeeded and collectExhaustively). あなたは、あらゆるスレッドからコレクション(収集)を要請できます(collectIfNeededcollectExhaustivelyを見てください)。

Topics 話題

Shared Instance 共有されるインスタンス

Collection State コレクション状態

Triggering Collection コレクションを引き起こす

Manipulating External References 外部参照を操る

Accessing an Unscanned Memory Zone 走査されないメモリ区域にアクセスする

Relationships 関係

Inherits From 継承元

See Also 参照

Legacy レガシー