Qu'est ce qu'une pile de la carte

J'ai récemment été à la recherche à La Spécifications De La Machine Virtuelle Java (JVM) pour essayer de mieux comprendre ce que le fait de mes programmes de travail, mais j'ai trouvé un article que je ne suis pas tout à fait arriver...

Section 4.7.4 décrit les StackMapTable Attribut, et dans cette section, le document va dans les détails à propos de la pile de la carte des cadres. Le problème, c'est qu'il est un peu bavard et je apprendre par l'exemple; non pas par la lecture.

Je comprends que le premier de la pile de la carte est dérivé à partir du descripteur de la méthode, mais je ne comprends pas comment (qui est censé être expliqué ici.) Aussi, je ne suis pas tout à fait comprendre ce que la pile de la carte frames ne sont. Je suppose qu'ils sont semblables à des blocs en Java, mais il semble que vous ne pouvez pas avoir de la pile de la carte des cadres à l'intérieur les uns des autres.

De toute façon, j'ai deux questions spécifiques:

  • Que faire de la pile de la carte frames ne?
  • Comment est le premier de la pile de la carte créée?

et une question générale:

  • Quelqu'un peut-il fournir une explication moins bavard et plus facile à comprendre que celui qui est donné dans la JVM?
  • Je vous suggère d'aller sur ce je-apprendre-par-exemple des trucs et apprendre à lire les spécifications, comme tout le monde le fait.
  • C'est quelque chose que je suis en train de travailler sur. C'est l'une des principales raisons que j'ai décidé de lire la JVM en premier lieu.
  • J'ai aussi été la lecture de la JVM spec, et croyez-moi, ce n'est pas tout comme la lecture de la spécification, par exemple: pour comprendre la partie de la façon dont le type de vérification œuvres (liée à cette question), vous devez avoir une connaissance de base de Prolog programmation... donc je pense que d'une question/réponse à cette question vaut la peine d'être dans Stackoverflow
  • Je trouve que c'est beaucoup plus utile d'ignorer le Prologue de trucs et de se concentrer sur les classiques d'inférence verifier. Le nouveau vérificateur est très similaire, ils ont juste décidé de le spécifier dans les 200 pages de Prologue au lieu d'utiliser un vauge description en anglais comme l'ancienne
  • exactement, c'est ce que cette question est à propos, pour traduire en anglais la spécification formelle.
  • J'ai essayé de les expliquer de manière exhaustive ici volatileinterface.com/...
  • car le lien est mort, est-il disponible quelque part d'autre peut-être?
  • web.archive.org/web/20170327123525/http://...