当前位置:网站首页>[JVM] - Division de la mémoire en JVM
[JVM] - Division de la mémoire en JVM
2022-06-28 05:18:00 【Camarade de classe Pan】
Catalogue des articles
JVMPartition de la zone mémoire dans
JVMAprès le démarrage, une grande zone de mémoire est appliquée du système d'exploitation,Ensuite, selon la fonction,Diviser cette mémoire en différentes petites zones.
UnjavaEn cours,Peut contenir plus d'un thread,Entre plusieurs fils,Partager la même pile et la même zone de méthode,Mais chaque thread a sa propre pile et compteur de programme;Chaque processus a son propre tas,Ne pas partager entre plusieurs processus
Compteur de programmes
C'est la plus petite zone de mémoire:Où est l'adresse de la prochaine instruction à exécuter qui a sauvegardé le thread courant
Directives,C'est - à - direBytecode,Le programme veut fonctionner,JVMIl va falloir charger le Bytecode,Dans la mémoire,Le programme récupère les instructions de la mémoire un par un,Mets - le.CPUExécution supérieure,Vous devez toujours vous souvenir de ce qui se passe.C'est parce queCPUEst un programme d'exécution synchrone,Ce n'est pas seulement un processus qui vous sert,Pour servir tous les processus.(C'est l'équivalent de ce que nous lisons habituellement,La dernière page que j'ai vue,Mettez le signet sur cette page,Pour que la prochaine fois nous puissions regarder directement à partir de cette page)
Et parce que le système d'exploitation est programmé en unités de thread,Chaque fil doit enregistrer sa position d'exécution,Alors...Le compteur de programme est un pour chaque thread.
Pile
Il y a surtoutInformations sur les variables locales et les appels de méthode
Quand la méthode est appelée,Chaque fois qu'une nouvelle méthode est appelée, C'est tout. “En pile”Fonctionnement; Une méthode à la fois ,Sont impliqués“Hors de la pile”Fonctionnement.
Attention!: L'espace de pile est en fait assez petit ,Bien queJVM La taille de l'espace de pile peut être configurée dans , Mais en général, c'est un peu comme ça. MOu des dizaines deM, Donc la pile est probablement pleine . Écrire le Code normalement ,En général, ça va, J'ai peur de la récursion. , Et les conditions récursives ne sont pas parfaites ,C'est direct.Débordement de pileC'estStackOverflowException
La pile est une copie pour chaque thread
Pile
Un seul processus , Plusieurs fils partagent un tas , C'est aussi la plus grande zone de mémoire
newObjet sortant, C'est dans le tas. , Les variables membres de l'objet sont naturellement dans le tas
Ici, nous devons distinguer une chose qui est plus facile à confondre :
Variable de type intégré sur la pile , Variable du type de référence sur le tas ,Est - ce vrai?
La réponse est incorrecte,Variables locales sur la pile,Variables des membres etnew Objet sur le tas , Peu importe le type de variable.
Domaine méthodologique
Dans la zone de la méthode,Oui.“Objet de classe”.
Ce qu'on appelle“Objet de classe”C'est:Ce que nous avons écrit.java Ce code devient .class(Bytecode binaire),.class Sera chargé en mémoire,C'est tout.JVM Construit comme un objet de classe ( Le processus de chargement devient “Chargement de classe”)
Il y a quelque chose d'important dans l'objet de classe ,Membres statiques——ParstaticMembres décorés,Oui.“Propriétés de la classe”, Et les membres ordinaires ,Appelé“Propriétés de l'Instance”
L'objet de classe décrit à quoi ressemble cette classe : Quel est le nom de la classe? ,Quels sont les membres,Quels sont les moyens, Quel est le nom de chaque membre? ,- Oui.public/private, Quel est le nom de chaque méthode? ,- Oui.public/private, Instructions contenues dans la méthode, etc.
边栏推荐
- 分享一个因子挖掘的利器:遗传规划
- CpG solid support research: lumiprobe general CpG type II
- Extjs图书管理系统源码 智能化图书管理系统源码
- Amino dye research: lumiprobe fam amine, 6-isomer
- When excel copies the contents of a row, the columns are separated by the tab "\t"
- Simulation questions and answers of the latest national fire-fighting facility operators (primary fire-fighting facility operators) in 2022
- The heading angle of sliceplane is the same as that of math Corresponding transformation relation of atan2 (y, x)
- 2022 low voltage electrician examination questions and answers
- 2022西式面点师(高级)考试试题模拟考试平台操作
- [Verilog quick start of Niuke online question brushing series] ~ one out of four multiplexer
猜你喜欢
随机推荐
基于订单流工具,我们能看到什么?
Question bank and answers of 2022 materialman general basic (materialman) operation certificate examination
Deeplearning ai-week1-quiz
Feign通过自定义注解实现路径的转义
Store inventory management system source code
quartus 复制IP核
[skywalking] learn distributed link tracking skywalking at one go
【LeetCode】12、整数转罗马数字
氨基染料研究:Lumiprobe FAM 胺,6-异构体
机器人学DH参数及利用matlab符号运算推导
SlicePlane的Heading角度与Math.atan2(y,x)的对应转换关系
[Verilog quick start of Niuke online question brushing series] ~ one out of four multiplexer
How to design an awesome high concurrency architecture from scratch (recommended Collection)
Metartc5.0 API programming guide (I)
2022年最新辽宁建筑八大员(标准员)考试试题及答案
msa. h: There is no such file or directory
2022年低压电工考题及答案
整理网上蛋糕商城项目
sqlmap工具使用手册
Keil C51的Data Overlaying机制导致的函数重入问题