jdk8常量池存放在哪里 java new一个string为什么也会在常量池中新建对象?
浏览量:2452
时间:2021-04-07 17:22:40
作者:admin
java new一个string为什么也会在常量池中新建对象?
Java中的字符串常量池与Java中的堆和栈的区别?
Java常量池不在堆或堆栈中,这是一种独立的内存空间管理。
1. 堆栈:它存储基本类型变量数据和对象引用,但对象本身不存储在堆栈中,而是存储在堆(新对象)或常量池(字符串常量对象存储在常量池中)。堆:存储所有新对象。
3. 常量池:存储字符串常量和基本类型常量(publicstaticfinal)。
对于字符串:其对象的引用存储在堆栈中。如果它们是在编译时创建的(直接用双引号定义),则它们存储在常量池中。如果只能在运行时(New)确定它们,则将它们存储在堆中。对于相等的字符串,常量池中总是只有一个副本,堆中总是有多个副本。
jdk8常量池存放在哪里 java字符串常量池 jdk8字符串常量池在哪里
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。