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
= 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!