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字节的存储在常量池中

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题