为什么java具有与C不同的固定数据类型大小

Har*_*ish 8 java size types primitive-types

C中,我们知道数据类型(例如int)的大小可能因编译器/硬件而异.

但是为什么数据类型的大小在java语言中是不变的?为什么我们不具备java中不同数据类型大小的灵活性,具体取决于编译器?

Bri*_*new 19

JVM(Java虚拟机)旨在独立于平台.如果跨平台的数据类型大小不同,则会牺牲跨平台的一致性.

JVM将程序与底层操作系统和平台隔离开来.这可能会使执行系统特定工作变得困难,但好处是你可以一次写入,随处运行(这在很大程度上是正确的,有一些不幸的问题.一次写入,测试到处都是一种更实用的方法).


Buh*_*uhb 14

如果数据类型大小因平台而异,则会失去可移植性.