簡體   English   中英

Java WeakReference 是否與 swift 弱關鍵字相同?

[英]Is Java WeakReference the same as the swift weak keyword?

我知道這篇文章中已經回答了一個類似的問題。 但是,我仍然對 java 是否存在保留周期問題感到困惑,因為 java 也有 WeakReference class。 那么,它們的目的是否相同? 他們兩個有什么區別?

Java 不存在“保留周期問題”。

使用引用計數的系統存在此問題,Java GC 不使用該計數。

因此在 Java 中, WeakReference class 與這些無關。 這只是一種保持對某事物的引用同時也不會阻止它被垃圾收集的方法

換句話說,只要其他東西(強烈)引用它,您就可以用它來記住 object。

此功能與 Swift 中的weak關鍵字的功能非常相似。 但是,如上所述,引用循環不會阻止在 Java 中收集對象,因此在這種特定情況下不需要WeakReference

這個 SO question列出了弱引用的一些實際用途, 這個問題專門討論了在 Java/Android 環境中的用途。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM