Heim > Java > JavaErste Schritte > Einführung in starke Referenzen und schwache Referenzen in Java

Einführung in starke Referenzen und schwache Referenzen in Java

王林
Freigeben: 2020-04-10 15:50:45
nach vorne
2747 Leute haben es durchsucht

Einführung in starke Referenzen und schwache Referenzen in Java

1. Starke Referenz

Wir erstellen normalerweise ein neues Objekt mit einer starken Referenz, wie z. B.

Object obj = new Object();
Nach dem Login kopieren

Selbst wenn der Speicher nicht ausreicht, Die JVM würde lieber einen OutOfMemory-Fehler auslösen, um ein solches Objekt nicht zurückzugewinnen.

(Empfohlenes Video-Tutorial: Java-Video-Tutorial)

2. Soft-Referenz

Wenn ein Objekt nur eine Soft-Referenz hat, wird die Speicher Wenn genügend Speicherplatz vorhanden ist, wird er vom Garbage Collector nicht zurückgefordert. Wenn nicht genügend Speicherplatz vorhanden ist, wird der Speicher dieser Objekte zurückgefordert.

SoftReference<String> softRef=new SoftReference<String>(str);     // 软引用
Nach dem Login kopieren

Verwendung:

Soft-Referenzen haben in der Praxis wichtige Anwendungen, beispielsweise den Zurück-Button des Browsers. Wenn Sie auf „Zurück“ klicken, wird dann der Inhalt der angezeigten Webseite erneut angefordert oder aus dem Cache abgerufen? Dies hängt von der konkreten Umsetzungsstrategie ab.

(1) Wenn der Inhalt einer Webseite am Ende des Surfens wiederverwendet wird, muss er neu erstellt werden, wenn Sie auf „Zurück“ drücken, um die zuvor besuchte Seite anzuzeigen.

(2) Wenn Sie durchsuchte Webseiten im Speicher speichern, führt dies zu einer großen Speicherverschwendung und sogar zu einem Speicherüberlauf.

Der folgende Code:

Browser prev = new Browser();               // 获取页面进行浏览
SoftReference sr = new SoftReference(prev); // 浏览完毕后置为软引用        
if(sr.get()!=null){ 
    rev = (Browser) sr.get();           // 还没有被回收器回收,直接获取
}else{
    prev = new Browser();               // 由于内存吃紧,所以对软引用的对象回收了
    sr = new SoftReference(prev);       // 重新构建
}
Nach dem Login kopieren

Empfohlene verwandte Tutorials: Java Quick Start

Das obige ist der detaillierte Inhalt vonEinführung in starke Referenzen und schwache Referenzen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage