ما الفرق بين SoftReference و WeakReference في Java؟
مرحبًا أيها الزملاء! أنا مطور Java مبتدئ ولا أستطيع فهم أنواع المراجع في Java. أعلم أن هناك Strong Reference (مرجع عادي)، بالإضافة إلى SoftReference و WeakReference. عمليًا، أفهم أن SoftReference يُستخدم للتخزين المؤقت (caching)، و WeakReference يُستخدم لـ WeakHashMap أو لمنع تسرب الذاكرة، لكن الحدود بينهما غير واضحة لي.
لنفترض أن لدي هذا الكود:
```java
import java.lang.ref.SoftReference;
import java.lang.ref.WeakReference;
public class ReferenceTest {
public static void main(String[] args) {
Object strongObj = new Object();
SoftReference