int是如何在Java中实现的?
根据int是如何在Java中实现的?,java,int,Java,Int,根据Integerclass上的文档: Integer类将基本类型int的值包装在对象中。整型对象包含一个整型字段 以及int上的文档: 默认情况下,int数据类型是32位带符号2的补码整数,其最小值为-2^31,最大值为2^31-1 此外,根据这一点: 在Java中,每个变量都有一个在源代码中声明的类型。有两种类型:引用类型和基元类型。引用类型是对对象的引用。基元类型直接包含值 因此,我的问题是:int原语类型是如何在Java中实现的整数作为一个类可以想象创建它的对象。但是,Integer类再
Integer
class上的文档:
Integer类将基本类型int的值包装在对象中。整型对象包含一个整型字段
以及int
上的文档:
默认情况下,int数据类型是32位带符号2的补码整数,其最小值为-2^31
,最大值为2^31-1
此外,根据这一点:
在Java中,每个变量都有一个在源代码中声明的类型。有两种类型:引用类型和基元类型。引用类型是对对象的引用。基元类型直接包含值
因此,我的问题是:int
原语类型是如何在Java中实现的<代码>整数作为一个类可以想象创建它的对象。但是,Integer
类再次使用int
。int
是以什么方式实现到java的,这样我们就可以使用它并可以执行它的所有算术运算。了解这一点将非常有帮助
我尝试了许多现有的答案和文章,但没有找到我的问题的答案,其中包括:
如果我的问题的任何部分不清楚/不正确,请在评论部分告诉我。
int
和其他基本类型由Java编译器和。他们不是班级。它们是值类型,而不是引用类型
编译器发出诸如iload、iadd和istore之类的字节码,而不涉及方法分派
Integer
几乎是一个普通类。它的实例在堆上分配。每个实例都包含一个int
值。不清楚您的问题是什么。“实现”是什么意思?它在内存中实现为32个连续位。你在寻找什么样的答案?@shmosel ie当我们使用Integer
时,它是Integer
类的对象。同样,当我们使用int
时,我们访问的是什么?它在java语言中是如何定义的?int
和其他原语类型作为堆栈上的值实现的。有用于int加载、存储、添加等的字节码指令Integer
是一个普通类。每个实例都存储为对堆节点的引用,该节点包含一个int
变量。这就是你要问的吗?如果我们回答了您的问题,请参阅JVM规范@OBX。你会怎么回答这个问题呢。或者,换句话说:为什么你首先需要知道这一点?您应该在问题中回答这个问题,这样我们才能帮助您。我认为这是非jvm开发人员能够提供的最具体的信息。关于更多细节,我建议深入研究jvm实现,例如OpenJDK,