当前位置:网站首页>Structure de la mémoire JVM
Structure de la mémoire JVM
2022-06-25 16:44:00 【Zhang Zhiming (Qiu Zhao chongchong Edition)】

1.Quelles parties peuvent avoir un débordement de mémoire
①Zone sans débordement de mémoire-Compteur de programmes
②Deux types de débordement de mémoire
Ⅰ- Oui.OutOfMemoryErrorSituation
1️⃣Mémoire tas épuisée-De plus en plus d'objets,Encore utilisé,Ne peut pas être recyclé
2️⃣La mémoire de la zone de méthode est épuisée-De plus en plus de classes sont chargées,De nombreux cadres génèrent dynamiquement de nouvelles classes pendant l'exécution
3️⃣Accumulation de piles de machines virtuelles-Chaque fil prendra jusqu'à1MMémoire,Quand les Threads sont de plus en plus nombreux et ne sont pas détruits pendant de longues périodes
Ⅱ- Oui.StackOverflowErrorRégion
1️⃣À l'intérieur de la pile de machines virtuelles-Trop d'appels de méthode(La récursion n'a pas de sortie appropriée)
Puisque Java Le mécanisme de collecte des ordures peut récupérer automatiquement la mémoire,Comment une fuite de mémoire peut - elle se produire?
Cette question,Nous devons savoir GC Quand récupérer les objets de mémoire,Quel genre d'objet mémoire serait GC Je crois que c'est“Ne plus utiliser”De.
Java Accès à l'objet mémoire dans , Utilisez la méthode de référence .In Java Dans le Code, nous maintenons une variable de référence pour un objet mémoire , Par la valeur de cette variable de référence , Nous pouvons accéder à l'espace objet mémoire dans l'adresse mémoire correspondante .In Java En cours de programmation, Cette variable de référence elle - même peut être stockée dans la mémoire tas , Encore une fois dans la mémoire de la pile de code ( Identique au type de données de base ). GC Le thread commence à tracer les variables de référence dans la pile de code , Pour déterminer quelle mémoire est utilisée .Si GC Les fils de cette façon , Impossible de tracer un morceau de mémoire tas ,Alors GC Pensez que cette mémoire ne sera plus utilisée ( Parce que cette mémoire n'est plus accessible dans le Code ).
Grâce à cette gestion de la mémoire digraphique , Quand un objet mémoire perd toutes ses références ,GC Pour le recycler .Inversement, S'il y a encore une référence à cet objet , Alors il ne sera pas GC Recyclage,Même si c'est le cas. Java Lancement de la machine virtuelle OutOfMemoryError .
javaMaintenant qu'il existe,gcThread, Pourquoi y a - t - il encore une fuite de mémoire ? - THISISPAN - La blogosphère1.Puisque Java Le mécanisme de collecte des ordures peut récupérer automatiquement la mémoire,Comment une fuite de mémoire peut - elle se produire?Cette question,Nous devons savoir GC Quand récupérer les objets de mémoire,Quel genre d'objet mémoire serait GC Je crois que c'est“Ne plus utiliser”De. JavaMoyennehttps://www.cnblogs.com/panxuejun/p/5888817.html
Zone de la méthode et Représentant permanent、La relation entre les métaespaces
①Le domaine de la méthode estJVM Une zone de mémoire définie dans la spécification , Pour stocker des métadonnées de classe 、Méthode Bytecode
Même si le compilateur
②Le Représentant permanent estHotspotPaire de machines virtuellesJVMMise en œuvre de la spécification(1.8Avant)
③ Le métaespace est HotspotPaire de machines virtuellesJVMMise en œuvre de la spécification(1.8Après),Utiliser la mémoire locale
Pour stocker ces informations
JVMParamètres de mémoire
PourJVM Paramètres de configuration de la mémoire : -Xmx10240m -Xms10240m -Xmn5120m -XX:SurvivorRatio=3
Où la mémoire minimale et Survivor La taille totale est
-Xmx:jvmMémoire maximale pour 1024m:10g
-Xms:jvm Mémoire minimale pour 1024m:10g
-Xms:jvm La mémoire cénozoïque de 5120m:5g
-XX:SurvivorRatio=3 eden:from=3 Donc le cénozoïque est divisé en 5Part eden3 from1 to1
Alors...Survivor:2g 


边栏推荐
- [untitled]
- 【精通高并发】深入理解汇编语言基础
- What are some tricks that novice programmers don't know?
- Optimization of lazyagg query rewriting in parsing data warehouse
- 从TiDB上线阿里云的背后,如何看待云数据库的变革趋势
- WPF development essays Collection - ECG curve drawing
- Android修行手册之Kotlin - 自定义View的几种写法
- XML usage and parsing of data storage and transmission files
- Unity技术手册 - 生命周期旋转RotationOverLifetime-速度旋转RotationBySpeed-外力ExternalForces
- 2022-06-17 网工进阶(九)IS-IS-原理、NSAP、NET、区域划分、网络类型、开销值
猜你喜欢

绕过技术聊'跨端'......

解析数仓lazyagg查询重写优化

Go language - what is critical resource security?

Prototype chain analysis

Reverse series to obtain any wechat applet code

【机器学习】基于多元时间序列对高考预测分析案例

Dino: Detr with improved detecting anchor boxes for end to end object detection

DOM event flow, event delegate

微信公众号服务器配置

Multiple decorators decorate a function
随机推荐
Unity技术手册 - 生命周期旋转RotationOverLifetime-速度旋转RotationBySpeed-外力ExternalForces
Data type variable operator
IO stream
Process control and method
从TiDB上线阿里云的背后,如何看待云数据库的变革趋势
Helsinki traffic safety improvement project deploys velodyne lidar Intelligent Infrastructure Solution
Coredata data persistence
【精通高并发】深入理解C语言基础与汇编下的C语言
Day_ seventeen
Overall MySQL architecture and statement execution process
Paper notes: generalized random forests
User registration, information writing to file
【機器學習】基於多元時間序列對高考預測分析案例
Alvaria announces Jeff cotten, a veteran of the customer experience industry, as its new CEO
软件测试面试如何正确谈薪
Final, override, polymorphic, abstract, interface
知道这些面试技巧,让你的测试求职少走弯路
Day_ fifteen
Bypass technology to talk about 'cross end'
Understanding of reflection part