Java コード: ,
byte a_b = 12;
short c_d = 14
バイトコードを次のように置き換えます
bipush 12 // expands byte1 (a byte type) to an int and pushes it onto the stack
sipush 14 // expands byte1, byte2 (a short type) to an int and pushes it onto the stack
jvm がその展開を行い、 byte & short を使用しないのはなぜですか?
また、ファイルのバイトコードを開くと
EDIT : short var = 14 は、sipush 14 ではなく bipush 14 に置き換えられます
私の理解が明確でないか、バグがありますか?
次のバージョンを使用しています
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)