Heim > Java > javaLernprogramm > Detaillierte Erläuterung mehrerer allgemeiner Referenzfunktionen in Java

Detaillierte Erläuterung mehrerer allgemeiner Referenzfunktionen in Java

怪我咯
Freigeben: 2017-07-02 10:34:05
Original
1955 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich relevante Informationen über die vielfältigen Funktionen von Reference in Java vor, die für jeden, der sie benötigt, einen gewissen Referenz- und Lernwert haben und studieren.

Vorwort

Mehrere Referenzfunktionen in Java sind auch Fragen, die oft in Interviews gestellt werden. Früher habe ich mich an sie erinnert und sie dann wieder vergessen . Jetzt, wo ich Zeit habe, könnte ich genauso gut eine Demo schreiben, um es auszuprobieren. Werfen wir einen Blick auf die ausführliche Einführung:

Der spezifische Code lautet wie folgt:

JVM-Parameter: -Xmx10m -Xms5m -XX:+PrintGC

SoftReference:


weakReference:


StrongReference:

Da Strong die Standardeinstellung von JVM ist, werde ich es hier nicht tun, einfach nicht weiß es überhaupt Recycelt bis OOM

PhantomReference:

VirtualReference ändert den Speicherrecyclingmechanismus nicht, es wird nur in die ReferenceQueue gestellt während des Recyclings Benachrichtigen Sie den Benutzer, um einige zusätzliche Vorgänge durchzuführen, z. B. das Drucken von Protokollen usw.

Der folgende Code ist im Wesentlichen byte[] immer noch eine starke Referenz.

Ausgabe:


Zusammenfassung:

  • StrongReference: JVM-Standard, es sei denn, es gibt keine weitere Objekt-Referenz während der GC, selbst OOM wird nicht recycelt

  • WeakReference: Sobald es nicht referenziert wird, wird es während des GC recycelt

  • SoftReference: Dasselbe wie stark, es sei denn, es gibt keinen Objektverweis während des GC, andernfalls ... wird es vor OOM sein recycelt, sodass SoftReference im Allgemeinen für Caching

  • sun.nio.ch.Util verwendet werden kann. Es verfügt über private statische ThreadLocal< ;SoftReference > localSelector

  • = new ThreadLocal>();

  • für temporären Selector .

  • PhantomReference: Die ReferenceQueue des Konstruktors wird als Benachrichtigung verwendet, um zusätzliche Vorgänge auszuführen, wenn das Objekt recycelt wird.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung mehrerer allgemeiner Referenzfunktionen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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