首页文章正文

字符串常量区,字符常量和字符串常量区别

字符串常量占多少字节 2023-02-06 17:42 452 墨鱼
字符串常量占多少字节

字符串常量区,字符常量和字符串常量区别

˙﹏˙ 字符串常量区假如一个字符串字面值为aaa,在程序运行时被创建啦N遍,这样很浪费内存,为了节约内存(高效使用内存),java就为同一个字面值的aaa在内存中创建一份,从一般实现方式来看:char ca[]="abcd";——ca为局部变量(自动变量或寄存器变量)时具有自动存储期,放在运行期内存的栈中;ca为全局或局部静态变量时具有静态存

╯0╰ 1.静态常量区:存储字符串常量的原始区域,拷贝动作的src,初始化栈区变量时需要从静态区拷贝一份(想具体了解可以看看汇编)。2.栈区:由程序自动分配内存,管理内存的区域。3.堆int main() { char c = "ad\010\2\3\n\0"; //存放于字符串常量区(不允许修改) char* p = "ad\010\2\3\n\0"; //p指向字符串首字符的地址char b[] = "ad\010\2\3\n\0"; //等

⊙^⊙ 51CTO博客已为您找到关于java字符串常量存放在哪个区中的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及java字符串常量存放在哪个区中问答内容。更多java字符字符串常量池,已经移动到堆上(jdk8之前是perm区),也就是执行intern方法后存的地方。类文件常量池,constant_pool,是每个类每个接口所拥有的,这部分数据在方法

字符需要在串常量池评论0 0 加载更多其他回答(1)最新回答(1条回答) 冰点咖啡1级2020-10-22 回答常量都是常量区的要注意的是字符串常量是存在在单独的全局区分程序区域和数据区域,也就是text 和data区域,其中text 存放二进制代码,data 区域还可以细分成常量区、全局区(全局已初始化区和全局未初始化)区。常量区存放一些字符串

+ω+ 一个具有多个字符的字符常数会被littleendianorder,如果你编写:moveax,abcd产生的常数不会是`0x61626364常量字符串"123456"是被存放在静态存储区。

楼主糊涂的是为什么a[0]可修改,p[0]不可修改。

如果把

后台-插件-广告管理-内容页尾部广告(手机)

标签: 字符常量和字符串常量区别

发表评论

评论列表

蓝灯加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号