第二个问题是使用弱引用会产生运行时开销。明显的成本是创建弱引用并调用 get 的成本。一个不太明显的成本是每次 GC 运行时都需要做大量的额外工作。
那么弱 ref 的 GC 成本到底是多少?它需要做哪些额外的工作,有多大的交易?我可以做出一些有根据的猜测,但对实际的机制很感兴趣。
第二个问题是使用弱引用会产生运行时开销。明显的成本是创建弱引用并调用 get 的成本。一个不太明显的成本是每次 GC 运行时都需要做大量的额外工作。
那么弱 ref 的 GC 成本到底是多少?它需要做哪些额外的工作,有多大的交易?我可以做出一些有根据的猜测,但对实际的机制很感兴趣。