说说Java中的常量池

Java中的常量池是一块用于存储运行时常量或者符号的区域。

主要有字符串常量池和运行时常量池。

字符串常量池用于存储字符串字面量,可以通过String类中的intern()方法复用常量池中的字符串对象,若不存在则将当前字符串对象入池。

Java6中的字符串常量池位于方法区中的永久代中,Java7及以后位于堆内存中的特殊区域。

在Java中,字符串的创建方式有两种,一种是直接使用字面量 ,另一种是使用new关键字

运行时常量池存储的是每个类或者接口的Class文件编译时生成的常量信息。

需要说明的是,按照JVM的定义来说,字符串常量池 逻辑上还是属于运行时常量池,只是因为字符串的高频使用,被单独抽离出来做了优化设计。

相关推荐
潜创微科技16 小时前
IT68353:双DP 1.4 + HDMI 2.0 + USB‑C 三合一转 HDMI 2.0 单芯片KVM切换方案
c语言·开发语言
YsyaaabB16 小时前
ACM 模式通用代码模板
java·c++·python·算法
IT界的老黄牛16 小时前
从 MQ 积压追到事件总线:诊断 4K 线程吃光 7G 内存的实战
java·运维·rocketmq
我命由我1234516 小时前
C++ - 面向对象 - 析构函数
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
小旭952716 小时前
商品详情实现与缓存问题(穿透、击穿、雪崩)解决方案
java·数据库·spring boot·后端·缓存
AI视觉网奇17 小时前
blender底部对齐
开发语言·python·blender
苦逼的猿宝17 小时前
基于springboot的课程作业管理系统(源码+论文)
java·毕业设计·springboot·计算机毕业设计
我本楚狂人www17 小时前
Spring 两大核心思想(一):IoC
java·数据库·spring
宠..17 小时前
QComboBox 方法大全
开发语言·qt
晚烛17 小时前
CANN 模型热更新:不停机模型切换与无缝更新实战指南
开发语言·python