java常量池和常量的一些疑问

局部变量:int a = 1 ; int b = a + 666;
666这个是放在栈内存中还是常量池中?

阅读 1.9k
1 个回答

栈内存 666要完成计算就要入栈,所以。。。我觉得你想问的应该是666入栈前在哪里?
对于整数常量入栈会有多种情况
1.对于[-1,5] 支持快速入栈 每个整数单独一条指令 指令如 iconst_1 iconst_2 ...
2.1字节 2字节有符号数 使用立即数 整数存储在指令
3.超过2字节的存储在常量池中

推荐问题