Maison > Java > javaDidacticiel > Explication détaillée de plusieurs fonctions courantes de Reference en Java

Explication détaillée de plusieurs fonctions courantes de Reference en Java

怪我咯
Libérer: 2017-07-02 10:34:05
original
1955 Les gens l'ont consulté

Cet article vous présente principalement des informations pertinentes sur les multiples fonctions de Reference en Java. L'article le présente en détail à travers un exemple de code, qui a une certaine valeur de référence et d'apprentissage pour tous les amis qui en ont besoin peuvent suivre l'éditeur Study. et étudier.

Avant-propos

Plusieurs fonctions de référence en Java sont aussi des questions qui sont souvent posées lors des entretiens. J'avais l'habitude de les mémoriser une fois et de les oublier à nouveau. . Maintenant que j'ai le temps, autant écrire une démo pour la tester. Jetons un coup d'œil à l'introduction détaillée :

Le code spécifique est le suivant :

Paramètres JVM : -Xmx10m -Xms5m -XX:+PrintGC

SoftReference :


weakReference :


StrongReference :

Puisque fort est la valeur par défaut de JVM, je ne le ferai pas ici, mais ne le faites pas je ne le sais pas du tout Recyclé jusqu'à ce que OOM

PhantomReference:

VirtualReference ne change pas le mécanisme de recyclage de la mémoire, il est simplement placé dans la ReferenceQueue pendant le recyclage Informez l'utilisateur d'effectuer certaines opérations supplémentaires, telles que l'impression des journaux, etc.

Le code suivant, en substance, byte[] est toujours une référence forte.

Sortie :


Pour résumer :

  • StrongReference : JVM par défaut, à moins qu'il n'y ait plus de référence objet pendant le GC, même le MOO ne recyclera pas

  • WeakReference : Une fois qu'il n'est pas référencé, il sera recyclé lors du GC

  • SoftReference : Idem que strong, sauf s'il n'y a pas de référence d'objet lors du GC, sinon....avant le MOO le sera recyclé, donc SoftReference peut généralement être utilisé pour la mise en cache

  • sun.nio.ch.Util a un statique ThreadLocal< ;SoftReference > localSelector

  • = new ThreadLocal>();

  • pour le sélecteur temporaire .

  • PhantomReference : La ReferenceQueue du constructeur est utilisée comme notification pour effectuer des opérations supplémentaires lorsque l'objet est recyclé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal