首页 > 编程知识 正文

Java 字符常量(java实验总结)

时间:2023-05-05 12:38:23 阅读:99319 作者:900

程序员的强心剂

雄鹰在天空中盘旋,宇宙是它的舞台,无视人民的掌声,它只聚焦于飞翔;野草在石缝里挣扎,寂静是它的背景,不需要外界欣赏。沉默是自香的。我们可能追求的东西太多,太注重无关紧要的评价和肯定,无形中价值取向慢慢偏离了原来的方向。但那又怎样?如果你不抛弃一些负担和负担,让自己活得更美好。

前言

java常量池实际上是每个人在学习java基础知识时都应该学习的东西。但是随着时间的推移,估计大家只会知道怎么用,而忘记了一些重要的知识点。虽然不记住这些并不妨碍他们的日常发展,但如果他们知道这些,对自己来说将是锦上添花。

什么是常量

用final修饰的成员变量代表常数。值一旦给定,就不能更改!final修饰的变量有三种:静态变量、实例变量和局部变量,分别代表三种类型的常量。

00-1010在Class文件结构中,前四个字节用于存储Magic Number,Magic Number用于确定一个文件是否可以被JVM接受,然后四个字节用于存储版本号,前两个字节用于存储次要版本号,最后两个字节用于存储主要版本号,然后常量池用于存储常量。因为常量的数量不是固定的,所以U2类型的数据(常量_池_

常量池主要用于存储两种常量:文字引用和符号引用。Literal相当于Java语言级别常量的概念,如文本字符串、声明为final的常量值等。符号引用属于编译原理的概念,包括以下三种类型的常量:

类接口的完全限定名字段名和描述符方法名和描述符

Class文件中的常量池

运行时常量池是方法区域的一部分。在CLass文件中,除了类版本的描述信息,还有字段、方法、接口等。还有一个常量池,用于存储编译过程中生成的各种文字量和符号引用。这部分内容将在类加载后存储在方法区域的运行时常量池中。与CLass文件常量池相比,运行时常量池的另一个重要特性是它是动态的。Java语言不要求只在编译时生成常量,即CLass文件中没有预置的常量池内容可以进入方法区的运行时常量池,运行时可以将新的常量放入池中。这个特性被开发人员广泛使用,也就是String类的intern()方法。

方法区中的运行时常量池

常量池用于避免频繁创建和销毁会影响系统性能的对象,实现了对象的共享。例如,字符串常量池,在编译阶段,所有字符串都被放入常量池。节省内存空间:常量池中所有相同的字符串常量被合并,只占用一个空间。节省运行时间:比较字符串时==比equals()快。对于两个引用变量,只需要用==来判断引用是否相等,然后就可以判断实际值是否相等。

常量池的好处

基本数据类型应用双等号,并比较它们的数值。在复合数据类型(类)之间应用双等号来比较它们在内存中的存储地址。

00-1010打包类和常量池八种基本类型的介绍,以及String类和常量池的介绍,后续文章会详细介绍,大家可以持续关注~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。