検索

ホームページ  >  に質問  >  本文

java - jvm中操作数栈的高位地址在上面还是下面

高洛峰高洛峰2802日前713

全員に返信(2)返信します

  • 迷茫

    迷茫2017-04-18 10:52:18

    この記事の他の写真も見ましたが、操作数栈に関係する写真はすべて下から上です

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:52:18

    まず、int a と int b がスタックに連続して格納される場合、b のメモリ アドレスは a のアドレスより 1 バイトではなく 4 バイト大きくなければなりません。

    ビッグ エンディアン モードとリトル エンディアン モードについては、スタック内のデータの最小ストレージ単位はバイトであり、リトル エンディアン モードではバイト単位のストレージが固定されています。

    同じ16進数データ0x3F00は、リトルエンディアンモードでは00→3Fの順に格納され、ビッグエンディアンモードでは3F→00の順に格納されます。端的に言えば、下位バイトを先に格納するか、上位バイトを先に格納するかということです。

    JavaのストレージモードはコンピュータのCPUに関係しますが、ビッグエンディアンでもリトルエンディアンでもストレージモードと解析も逆、つまり同じintの計算結果は同じになります。それはビッグエンディアンまたはリトルエンディアンです。

    回答に誤りや脱落があれば修正してください

    返事
    0
  • キャンセル返事