当前位置:网站首页>Byte Jump interview Sharing pour voir les files d'attente de blocage AQS et les files d'attente conditionnelles,

Byte Jump interview Sharing pour voir les files d'attente de blocage AQS et les files d'attente conditionnelles,

2021-09-15 08:13:01 Guo d'à côté.

Un.、Mémoire et fils

1、Structure de la mémoire

La mémoire est une partie importante de l'ordinateur,C'est un dépôt externe avecCPUUn pont de communication,Tous les programmes de l'ordinateur fonctionnent en mémoire,La puissance de la mémoire affecte le niveau global de fonctionnement de l'ordinateur.JVMLa structure de mémoire deJavaDemande de mémoire au moment de l'exécution du programme、Division、Utiliser、Politique de gestion du recyclage,En grosJVMLa gestion de la mémoire est la gestion de cette grande partie de la zone de données d'exécution.

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Arrière - plan

2、THREAD RUNNING

JVMUne des applications peut avoir plusieurs Threads fonctionnant en parallèle,Le thread est mappé un à un au thread du système d'exploitation où se trouve le service,Dispatch is available atCPUExécution supérieure,Un thread os est créé au démarrage;Quand le fil se termine,Ce thread os sera également recyclé.

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Java_02

Au démarrage de la machine virtuelle,Crée plusieurs threads,Certains modules de la zone de données sont partagés par thread,Certains sont privés par fil:

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Programmeur_03

Partage de threads:Zone de métadonnées、PileHeap;

Thread Private:Pile de machines virtuelles、Pile de méthodes locales、Compteur de programmes;

UniqueCPUUn seul thread peut être exécuté à un moment donné,Donc le Multithreading passe par l'utilisation de quelques espaces,Et puis il y a eu une course constanteCPUPériode d'exécution.

2.、Espace de métadonnées

Description de base

Méta - espace de la méthode(Domaine méthodologique)InJVMCréé au démarrage,Est l'espace mémoire partagé par chaque thread,Métadonnées et pools de constantes pour les classes et les méthodes,Par exemple,ClassEtMethod.

Dans le développement réel,Souvent parce qu'il y a trop de classes chargées,Cela peut causer des problèmes de débordement de mémoire,Cela permet d'étendre la taille du métaespace.

Relation avec le tas

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Programmeur_04

Metasepace stocke les informations de classe chargées,Lorsque la classe est instantanée,Stocker les informations de l'objet instantané dans le tas,Et trouver la classe à travers un pointeur vers les données de type objet.

Trois、Espace de tas

Description de base

JVMCréer un tas au démarrage,Est le noyau de la gestion de la mémoire,Et généralement le plus grand espace mémoire,Est partagé par tous les threads,Presque toutes les instances d'objets doivent allouer de la mémoire dans le tas,C'est donc un espace clé pour le recyclage des ordures..

Relation de pile

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Programmeur_05

Pile ouiJVMUnités d'exécution,Le tas est une unit é de stockage,Lorsque la méthode dans la pile se termine,Après que l'objet associé a perdu toutes les références,Ne sera pas immédiatement retiré de l'espace de tas,Jusqu'à ce que le collecteur d'ordures fonctionne.

JavaAnalyse de la collection de sujets d'entrevue à haute fréquence:

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Java_06

Bien sûr, il y en a d'autres ici.JavaNotes d'apprentissage avancé et questions d'entrevue non présentées,C'est tout.Dubbo、Redis、Netty、zookeeper、Spring cloud、Distribué、Données architecturales de haute concurrence et complètesJavaSchéma avancé d'apprentissage de l'architecture!

 CodeChinaProjet Open Source:【Grandes usines de première ligneJavaAnalyse des questions d'entrevue+Résumé de base notes d'étude+Dernière vidéo d'explication】Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Programmeur_07

PlusJavaPrésentation des données architecturales avancées

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Java_08

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Programmeur_09

Byte Jump interview Sharing,Regarde ça.AQSBloquer les files d'attente et les files d'attente conditionnelles,_Java_10

版权声明
本文为[Guo d'à côté.]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/09/20210915081033573y.html

随机推荐