notes d'étude du modèle de mémoire java

Un flux Java d'exécution du programme:

 

 

  • 1. Tout d'abord, nous voulons exécuter le programme java, il faut d'abord écrire les fichiers source java, ce qui est le code java, suivi par le compilateur (java Complier), (commande javac pour compiler) le code source en un code d'octet de fichier de classe
  • 2. Avec les fichiers bytecode, afin d'exécuter les fichiers bytecode, vous devez appeler le chargeur de classe ClassLoader, le code octet correspondant. Le fichier est chargé dans la mémoire, qui est la (zone de données d'exécution Runtime Data Area), modèle de mémoire java qui est celui-ci.
  • 3. Après, remis au moteur d'exécution Jvm (Execution Engine) sera basé sur le contenu de la zone de données d'exécution, pour exécuter notre code.

modèle de mémoire Deuxième java:

La spécification de mémoire JVM, la mémoire JVM est divisé en:

  VM pile, tas, la zone de procédé, le compteur de programme, des piles de méthode natifs de cinq parties.

Programme de lutte contre:

  • Pour chaque thread dispose d'un compteur de programme
  • Le compteur de programme pour chaque thread est un organisme privé de fil, indépendamment les uns des autres, sont thread-safe
  • L'adresse de mémoire du compteur de programme enregistre le thread d'exécution d'interruption procéder conformément à l'adresse d'instruction fil de nouveau interrompue reprend l'exécution

VM Java Stack:

  • Chaque fil correspond à une pile de java
  • Chaque pile Java composée de plusieurs cadres de pile
  • Chaque trame de pile correspond à un procédé de
  • Dans le procédé de cadre de pile à temps d'exécution, la création et la méthode d'empilement exécuté, le cadre de pile de l'élément de cadre de pile sautent vers le haut comme la méthode renvoie une valeur, le cadre de pile est effacée
  • Haut de la pile de cadre de pile de la pile des activités dites, représentation de l'exécution en cours, l'exécution peut être cpu
  • Demande profondeur de la pile de fil est supérieure à la machine virtuelle profondeur admissible, une exception sera levée StackOverflowError
  • Impossible d'appliquer suffisamment de mémoire lorsque la pile à se développer, il va jeter un OutOfMemoryError

 

zone Méthode:

  • La zone de Java est permanente

  • La zone de procédé pour stocker les informations d'être classe chargée (nom, modificateurs), variable statique de classe, la classe est définie comme étant le dernier type de constante, méthode champs des informations de classe, des informations de classe
  • La zone de procédé est partagé fil java
  • zone méthode à utiliser plus de mémoire que sa taille admissible qui jetteront OutOfMemoryError: Message d'erreur espace de PremGen

Piscine constante:

  • Procédé zone partielle
  • Stocker deux types de données: le littéral et le montant de référence
  • Littérales: string, les variables finales
  • Citations: classe / interface, méthode, et les noms des champs et des descripteurs
  • constant_pool sera déterminée au moment de la compilation, et stockées dans le fichier .class compilé

piles de méthodes natives: similaire au rôle joué par pile java, la pile pour la mise en œuvre de Java JVM de la méthode service java, et les piles de méthodes autochtones locales pour le service de la méthode d'exécution JVM.

 

Je suppose que tu aimes

Origine www.cnblogs.com/padazala/p/12669783.html
conseillé
Classement