java中基本数据类型int a =10,a在栈中存着,10是在常量池中存着吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中基本数据类型int a =10,a在栈中存着,10是在常量池中存着吗?相关的知识,希望对你有一定的参考价值。

java中基本数据类型int a =10,a在栈中存着,10是在常量池中存着吗?

int a =10 如果是这个 那么10在栈里面
Interger a = 10 那么这个在常量池里面
a是在-128到127之间,不会去堆中创建对象,而是直接返回IntegerCache中的值;如果值不在上面范围内则会从堆中创建对象。= 走的是valueOf()方法,valueOf(int)会走缓存。
Interger a = new Interger(10) 这个在堆里面
参考技术A 是的,在java中,从0到127都是在常池中存储的。

以上是关于java中基本数据类型int a =10,a在栈中存着,10是在常量池中存着吗?的主要内容,如果未能解决你的问题,请参考以下文章

Jvm(28),理解升级----java中的基本数据类型一定存储在栈中吗

java变量存储问题

java中的String常量是存放在栈中还是堆中?

java数据类型

Java 基本数据类型作为局部变量存储在哪

java 8种基本数据类型