In computer programming, a weak reference is a reference that does not protect the referent object from collection by a garbage collector. An object referenced only by weak references is considered unreachable (or "weakly reachable") and so may be collected at any time. Weak references are used to avoid keeping in memory referenced but unneeded objects. Some garbage-collected languages feature or support various levels of weak references, such as Java, C#, Python, or Perl.
| Property | Value |
| dbpprop:abstract
|
- In computer programming, a weak reference is a reference that does not protect the referent object from collection by a garbage collector. An object referenced only by weak references is considered unreachable (or "weakly reachable") and so may be collected at any time. Weak references are used to avoid keeping in memory referenced but unneeded objects. Some garbage-collected languages feature or support various levels of weak references, such as Java, C#, Python, or Perl.
- 弱い参照(weak reference、ウィークリファレンス)とは、参照先のオブジェクトをガベージコレクタから守ることのできない参照のことである。弱い参照からのみによって参照されるオブジェクトは到達不可能とみなされ、従っていつでも解放することができる。弱い参照は、不要となったオブジェクトが循環参照によって解放されないという問題を防ぐために用いられる。PythonやJavaをはじめとしたガベージコレクタを実装したオブジェクト指向言語の多くは、弱い参照を実装している。 ガベージコレクタ (GC)はメモリリークを防ぐために用いられる。GCの種類には、主にマーク・アンド・スイープ型と参照カウンタ型の2種類がある。このうち参照カウンタ型は、オブジェクトごとに参照の数を記録したレコードを用意し、その数が0になった時点でオブジェクトを解放するというものである。このタイプのGCは、あるオブジェクト間で参照が循環した場合にそれらを解放することができない。そのため、相互に参照しあったオブジェクト群はメモリリークの原因となる。この問題は、強い参照を弱い参照で置き換えることで循環が断たれるのであれば、弱い参照によって解決することが可能である。 プログラムは、あるオブジェクトに弱い参照のみを用いて参照することで、そのオブジェクトがさほど重要ではないということを示すことができる。そのため弱い参照は、必ずしも必要ではないオブジェクトがメモリ中に存在する数を最小にするためにも用いることができる。 弱い参照の強度を複数もつ言語もある。例えば、Javaには弱い参照、ファントム参照、ソフト参照がある(java. lang. ref パッケージに定義されている)。C++のように、元々ガベージコレクタのない言語で、その代替機能をライブラリでサポートし、その中で弱い参照・強い参照の機能を提供しているものもある。C++の場合では通常のポインタが「弱い参照」で、スマートポインタが「強い参照」である(ただし弱い参照はオブジェクトが到達不可能になったことを知っているべきなので、ポインタは本当の意味での弱い参照ではない)。 弱い参照が便利なひとつの例として、アプリケーション内で参照されている変数を追跡するケースがある。この追跡リストは、対象オブジェクトに対して弱い参照で参照しなければならない。そうしなければ、一度リストに加えられたオブジェクトはリストによって参照されるため、プログラムが停止するまで半永久的に解放されることはない。
- В программировании слабая ссылка — специфический вид ссылок на динамически создаваемые объекты в системах со сборкой мусора. Отличается от обычных ссылок тем, что не учитывается сборщиком мусора при выявлении объектов, подлежащих удалению. Ссылки, не являющиеся слабыми, также иногда именуют «сильными».
|
| dbpprop:hasPhotoCollection
| |
| dbpprop:reference
| |
| rdf:type
| |
| rdfs:comment
|
- In computer programming, a weak reference is a reference that does not protect the referent object from collection by a garbage collector. An object referenced only by weak references is considered unreachable (or "weakly reachable") and so may be collected at any time. Weak references are used to avoid keeping in memory referenced but unneeded objects. Some garbage-collected languages feature or support various levels of weak references, such as Java, C#, Python, or Perl.
- В программировании слабая ссылка — специфический вид ссылок на динамически создаваемые объекты в системах со сборкой мусора. Отличается от обычных ссылок тем, что не учитывается сборщиком мусора при выявлении объектов, подлежащих удалению.
|
| rdfs:label
|
- Weak reference
- 弱い参照
- Слабая ссылка
|
| owl:sameAs
| |
| skos:subject
| |
| foaf:page
| |
| is dbpprop:redirect
of | |
| is owl:sameAs
of | |