|
|
1
1
你为什么在这里使用弱引用?它们不会有帮助,也不是为这种情况而设计的。
而是设置一个迭代器(一个响应
|
|
|
2
3
WeakRef的成本可能很高。WeakRef扩展了Delegator类,在1.8实现中Delegator对象非常繁重。每次实例化Delegator时,包装对象中的每个方法都会重新定义。用Delegator包装字符串将分配~2800个对象并使用~90K内存。这使得WeakRef在很多情况下都是不可用的,因为它们的创建速度非常慢,并且可能会使用比它们指向的对象更多的内存。 Delegator在1.9ruby代码中已经被修复,但是,有一个错误,WeakRef的可能会指向错误的对象,因此它们的使用是不安全的。
|