22 lines
996 B
Text
22 lines
996 B
Text
|
ruby-ref provides object references for Ruby as well as some common
|
||
|
utilities for working with references. Object references are used to
|
||
|
point to other objects and come in three distinct flavors that interact
|
||
|
differently with the garbage collector.
|
||
|
|
||
|
* Ref::StrongReference - This is a plain old pointer to another object.
|
||
|
|
||
|
* Ref::WeakReference - This is a pointer to another object, but it is
|
||
|
not seen by the garbage collector and the memory used by the object can
|
||
|
be reclaimed at any time.
|
||
|
|
||
|
* Ref::SoftReference - This is similar to a weak reference, but the
|
||
|
garbage collector is not as eager to reclaim the referenced object.
|
||
|
|
||
|
All of these classes extend from a common Ref::Reference class and have
|
||
|
a common interface.
|
||
|
|
||
|
Weak and soft references are useful when you have instantiated objects
|
||
|
that you may want to use again but can recreate if necessary. Since the
|
||
|
garbage collector determines when to reclaim the memory used by the
|
||
|
objects, you don't need to worry about bloating the Ruby heap.
|