Javaが数値プロモーション中にBYTEと短いオペランドをINTに変換するのはなぜですか
質問
中の小さなデータ型(たとえばバイト)の拡張の背後にある理由は何ですか 数値プロモーション 処理する?これらの小さなデータ型でほとんどの操作を直接実行することはできませんか?
解決
VMは仮想マシンであり、JITはこれをネイティブコードに翻訳し、その後最適化します。すべてのレジスタは32ビットまたは64ビットであり、「短い」操作は必ずしも高速ではありません。
他のヒント
VMは4オクテットより小さい整数をサポートしていないため、VMで走るときは4オクテットのINTまたは8オクテットのロングで動作しています。 (まあ、それはアレイ、Barray Sarrayなどのために、単一の値ではありません)。
所属していません StackOverflow