java - jvm中操作数栈的高位地址在上面还是下面
高洛峰
高洛峰 2017-04-18 10:50:18
0
2
720
  • 这是我在一篇文章中看到的图片。

  • 我百度查了下,内存中的栈,高位地址在上,每次压栈(int这类),都会将地址减去1个字节,然后将值放入栈。

  • 但是这张图,在对操作数栈做压栈操作的时候,却从底下往上放了。不知道是我理解错了,还是作者的一个失误。

  • 谢谢指点

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(2)
迷茫

J'ai regardé d'autres photos dans cet article, et les photos impliquant 操作数栈 sont toutes de bas en haut

大家讲道理

Tout d'abord, si int a et int b sont stockés en continu dans la pile, alors l'adresse mémoire de b doit être 4 octets plus grande que l'adresse de a, pas 1 octet !

En ce qui concerne le mode big-endian ou small-endian, commençons par le binaire. L'unité de stockage minimale des données dans la pile est l'octet, et le stockage en octets est fixe en mode small-endian !

Les mêmes données hexadécimales 0x3F00 sont stockées dans l'ordre 00 3F en mode little endian, et en mode big endian, l'ordre de stockage est 3F 00. Pour parler franchement, cela signifie si les octets de poids faible sont stockés en premier ou si les octets de poids fort sont stockés en premier.

Le mode de stockage de Java est lié au processeur de l'ordinateur, mais quel que soit le big-endian ou le little-endian, le mode de stockage et l'analyse sont opposés, ce qui signifie que le même int aura le même résultat de calcul, qu'il soit ou non. est stocké en gros-boutiste ou petit-boutiste de.

Veuillez me corriger s'il y a des erreurs ou des omissions dans votre réponse

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal