Javaが数値プロモーション中にBYTEと短いオペランドをINTに変換するのはなぜですか

StackOverflow https://stackoverflow.com/questions/4575637

  •  14-10-2019
  •  | 
  •  

質問

中の小さなデータ型(たとえばバイト)の拡張の背後にある理由は何ですか 数値プロモーション 処理する?これらの小さなデータ型でほとんどの操作を直接実行することはできませんか?

役に立ちましたか?

解決

VMは仮想マシンであり、JITはこれをネイティブコードに翻訳し、その後最適化します。すべてのレジスタは32ビットまたは64ビットであり、「短い」操作は必ずしも高速ではありません。

他のヒント

VMは4オクテットより小さい整数をサポートしていないため、VMで走るときは4オクテットのINTまたは8オクテットのロングで動作しています。 (まあ、それはアレイ、Barray Sarrayなどのために、単一の値ではありません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top