L'allocation et le recyclage de la mémoire de Java sont tous automatiquement complétés par le processus de collecte de déchets JVM. Contrairement à C, les développeurs Java n'ont pas besoin d'écrire leur propre code pour implémenter la collecte des ordures. C'est l'une des nombreuses fonctionnalités que Java est très populaire auprès de tout le monde et peut aider les programmeurs à mieux écrire des programmes Java.
Ce tutoriel est la première partie de la série. Les termes de base seront expliqués en premier, tels que JDK, JVM, JRE et HotspotVM. Ensuite, nous présenterons la structure JVM et la structure de mémoire du tas Java. Comprendre ces bases est important pour comprendre les connaissances ultérieures du recyclage des ordures.
Termes clés Java
Javaapi: une série de bibliothèques encapsulées qui aident les développeurs à créer des applications Java.
Java Development Toolkit (JDK): une série d'outils pour aider les développeurs à créer des applications Java. JDK contient des outils pour compiler, exécuter, package, distribuer et surveiller les applications Java.
Java Virtual Machine (JVM): JVM est une structure informatique abstraite. Les programmes Java sont écrits selon les fonctionnalités de la JVM. Le JVM est spécifique au système d'exploitation et peut traduire les instructions Java en instructions qui sont des systèmes sous-jacents et exécuter. JVM garantit l'indépendante de la plate-forme de Java.
Java Runtime Environment (JRE): JRE inclut l'implémentation JVM et l'API Java.
Machine virtuelle javahotspot
Chaque implémentation JVM peut adopter une approche différente de la mise en œuvre du mécanisme de collecte des ordures. Avant l'acquisition de Sun, Oracle a utilisé Jrockitjvm et après l'acquisition, HotspotJVM a été utilisé. Actuellement, Oracle a deux implémentations JVM et les deux implémentations JVM fusionnent en une après une période de temps.
Hotspotjvm fait partie des composants centraux actuels de la norme de plate-forme Oraclese. Dans ce didacticiel de la collection Garbage, nous comprendrons les principes de la collecte des ordures basés sur des machines virtuelles hotspot.
Architecture JVM
L'image suivante résume les composants clés du JVM. Dans l'architecture JVM, les deux principaux composants liés à la collection de déchets sont la mémoire du tas et le collecteur des ordures. La mémoire du tas est une zone de données de mémoire utilisée pour enregistrer les instances d'objet lors de l'exécution. Le collecteur des ordures fonctionnera également ici. Nous savons maintenant comment ces composants fonctionnent dans le cadre.
Mémoire de tas java
Il est nécessaire de comprendre le rôle du modèle de mémoire JVM qui existe dans la mémoire du tas. Au moment de l'exécution, les instances Java sont stockées dans la zone de mémoire du tas. Lorsqu'un objet n'est plus référencé, la condition est supprimée de la mémoire du tas. Dans le processus de collecte des ordures, ces objets seront supprimés de la mémoire du tas et l'espace mémoire sera recyclé. Les trois principaux domaines principaux de la mémoire du tas:
Jeune génération
Eden Space (Edenspace, n'importe quelle instance entre dans la zone de mémoire d'exécution via Eden Space)
S0Survivor Space (S0Survivorspace, les instances qui existent pendant longtemps seront déplacées de l'espace Eden à l'espace S0Survivor)
L'espace S1Survivor (les instances qui existent pendant une plus longue période seront déplacées de l'espace S0Survivor à l'espace S1Survivor)
Les instances de vieille génération seront promues de S1 à Tenured (Generation à vie)
La génération permanente contient des méta-informations sur les classes, les méthodes et autres détails
L'espace de génération permanente a été supprimé dans la fonction Java 8.
Résumer
Ce qui précède est l'intégralité du contenu de cet article présente brièvement le mécanisme de collecte des ordures Java, et j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!