前言:
此时我们基础已经很扎实了,那么这是我们就要来了解String这个引用类型的所有知识了,之前讲的也都是基础,此时我们需要彻底掌握。
Java中的常量池:
“池”是编程中的一种常见的、重要的提升效率的方式,我们在未来的学习中遇到各种“内存池”、“线程池”、“数据库连接池”……
比如:大家的生活费有两种获取方式
- 家里比较拮据,每月定时打生活费,有时可能会晚,还必须主动要,速度慢。
- 家里有矿,一次性打一年生活费,自己用随时取,速度快。
第二种方式就是池化技术的一种示例,钱放在卡上,随用随取,效率高。
为了节省存储空间及程序的运行效率,Java引入了:
- Class文件常量池:每个.Java源文件编译后生成.Class文件中会保存当前类中的字面常量及符号信息。
- 运行时常量池:在.Class文件被加载时,.Class文件中的常量池被加载到内存中称为运行时常量池,运行时常量池每个类都有一份。
- 字符串常量池
在此简单了解,后序将JVM时会详细阐释。
我们本章重点来了解字符串常量池(StringTable)。
字符串常量池:
字符串常量池在JVM中是StringTable类,实际是一个固定大小的HashTable(一种高效用来进行查找的数据结构,后续介绍)ÿ