Java 常量池的实例详解

Java的常量池中包含了类、接口、方法、字符串等一系列常量值。常量池在编译期间就已经确定,并保存在*.class文件中
一、对于相同的常量值,常量池中只保存一份拷贝。
而且,当一个字符串由多个字符串常量链接而成时,多个字符串被组成一个字符串常量。
例如:
package lxg;
public class main {
public static void main(String[] args) {
String name = "lengxuegang";
String nickname = "lengxuegang";
String signature = "leng" + "xue" + "gang";
System.out.println(name == nickname);
System.out.println(name == signature);
}
}
结果为:
true true
注意:由new String()创建的字符串不是常量,不能在编译期间确定。因此也就不能放入常量池中,而是有自己的地址空间。
二、常量池在运行期间由JVM装载,并且可以扩充。
String.intern()方法就是扩充常量池的一个方法。当String的一个对象str调用intern()方法时,Java首先检索常量池中是否有相同Unicode编码的字符串常量。如果有,则返回该字符串常量的引用;如果没有,则在常量池中增加一个Unicode编码等于str的字符串常量,同时返回该字符串常量的引用。
例如:
package lxg;
public class main {
public static void main(String[] args) {
String name = "lengxuegang";
String nickname = new String("lengxuegang");
System.out.println(name == nickname);
//调用intern方法后,nickname指向常量池中"lengxuegang"的引用,此时name与nickname相同
nickname = nickname.intern();
System.out.println(name == nickname);
}
}
输出结果为:
false true
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java
# 常量池
# 常量池的详解
# 常量池的理解
# JVM常量池的深入讲解
# 深入解析JVM之内存结构及字符串常量池(推荐)
# 深入探索Java常量池
# Java class文件格式之常量池_动力节点Java学院整理
# java String类常量池分析及"equals"和"==”区别详细介绍
# Java 中的字符串常量池详解
# 浅谈java常量池
# Java中的字符串常量池详细介绍
# 详解JVM之运行时常量池
# 池中
# 多个
# 自己的
# 是有
# 也就
# 如有
# 而成
# 希望能
# 如果没有
# 谢谢大家
# 则在
# 并保存
# 疑问请
# 包含了
# 等一系列
# package
相关文章:
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
营销式网站制作方案,销售哪个网站招聘效果最好?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
建站主机类型有哪些?如何正确选型
,sp开头的版面叫什么?
如何通过虚拟机搭建网站?详细步骤解析
已有域名和空间如何快速搭建网站?
如何在建站主机中优化服务器配置?
如何规划企业建站流程的关键步骤?
安云自助建站系统如何快速提升SEO排名?
建站与域名管理如何高效结合?
如何快速配置高效服务器建站软件?
建站之星如何实现PC+手机+微信网站五合一建站?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何选择服务器才能高效搭建专属网站?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
如何用AWS免费套餐快速搭建高效网站?
如何在IIS中新建站点并配置端口与IP地址?
,网站推广常用方法?
,如何利用word制作宣传手册?
建站主机服务器选购指南:轻量应用与VPS配置解析
如何用5美元大硬盘VPS安全高效搭建个人网站?
Swift中swift中的switch 语句
创业网站制作流程,创业网站可靠吗?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
如何选择高性价比服务器搭建个人网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
建站之星安全性能如何?防护体系能否抵御黑客入侵?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
C++如何使用std::optional?(处理可选值)
移民网站制作流程,怎么看加拿大移民官网?
如何通过商城免费建站系统源码自定义网站主题?
长沙企业网站制作哪家好,长沙水业集团官方网站?
微信小程序 input输入框控件详解及实例(多种示例)
建站之星如何配置系统实现高效建站?
Bpmn 2.0的XML文件怎么画流程图
微信小程序制作网站有哪些,微信小程序需要做网站吗?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
建站之星展会模板:智能建站与自助搭建高效解决方案
Swift开发中switch语句值绑定模式
linux top下的 minerd 木马清除方法
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
*请认真填写需求信息,我们会在24小时内与您取得联系。