1. Dans quelles circonstances la JVM effectue-t-elle le GC et quelles sont les stratégies de GC
Lorsque l'application alloue de nouveaux objets, la taille du budget de la génération GC a atteint le seuil, par exemple la 0ème génération de GC est pleine ; le code appelle activement et explicitement System.GC.Collect(); tels que le système signalant une mémoire insuffisante, le déchargement du CLR AppDomain, l'arrêt du CLR et même des modifications des paramètres du système dans certains cas extrêmes peuvent également provoquer le recyclage du GC
2. Que sont OutOfMemoryError et StackOverflow
Si la machine virtuelle ne peut pas demander suffisamment d'espace mémoire lors de l'expansion de la pile, une exception OutOfMemoryError sera levée. Cela est généralement dû à la quantité de données appliquées, telles que les tableaux, ArrayList, HashMap, etc., qui est trop volumineuse.
Si la profondeur de pile demandée par le thread est supérieure à la profondeur maximale autorisée par la machine virtuelle, une exception StackOverflowError sera levée. Cela est généralement dû à une mémoire de pile insuffisante en raison d'un grand nombre d'opérations récursives.
En général, une exception OutOfMemoryError ne peut pas être générée dans un programme monothread. OutOfMemoryError se produira également lors de l'utilisation de plusieurs threads, car la pile est privée au thread et la zone de méthode débordera s'il y a plusieurs threads
3. JVMQuels problèmes se produiront en cas d'allocation excessive d'espace de pile
4. Comment détecter les boucles infinies et les blocages dans JVM
impasse :
Boucle infinie :
5. ExpliquezBIO, NIO, NIO2, AIO
6. Enquêter et sélectionner la différence ?
7, Bases de HTTP/1.1
8. Trois poignées de main et quatre vagues dans le protocole TCP
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!