整数为原始类型

为什么整数(int)有原始类型,即使我们有一个整数对象作为整数? 但同样不是String类型。 String没有这种原始类型。 Always String处理对象引用?

速度。 机器代码使用本机CPU指令添加两个int要快得多,而不是必须取两个Integer对象,从中提取int值,然后添加它们,创建一个新结果Integer对象来包含结果。 ( JNI如何映射基元 )

字符串很复杂,有很多方法,因此没有机器码对位。 它们被提升为真正的对象。 此外,String与使用相同值创建的其他字符串共享状态。 没有原始值与其他原始值共享状态。 ( 不可变的可以共享 | 原始没有共享 )

这是因为处理器(CPU)直接支持整数类型,但不支持字符串。 并且出于性能原因,Java支持一些可能由JVM可能运行的处理器支持的本机类型。

字符串数据类型比int复杂得多 – 有一个可变的内存量来保存一个字符串。

最终计算是在机器级语言下完成的。 我想知道原语和对象在性能方面有什么区别。 详细说明的答案将不胜感激。