JAVA的三种常量池
生活随笔
收集整理的這篇文章主要介紹了
JAVA的三种常量池
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Java有三種常量池,即字符串常量池(又叫全局字符串池)、class文件常量池、運行時常量池。
1. 字符串常量池(也叫全局字符串池、string pool、string literal pool)
字符串常量池 Interned Strings
2. 運行時常量池(runtime constant pool)
當程序運行到某個類時,class文件中的信息就會被解析到內存的方法區(qū)里的運行時常量池中。每個類都有一個運行時常量池
3. class文件常量池(class constant pool)
class常量池是在編譯后每個class文件都有的,class文件中除了包含類的版本、字段、方法、接口等描述信息外,還有一項信息就是 常量池*(constant pool table)*,用于存放編譯器生成的各種字面量(Literal)和符號引用(Symbolic References)。*字面量就是我們所說的常量概念,如文本字符串、被聲明為final的常量值等。
4. 結論
字符串常量在堆內存,類的元數(shù)據(jù)在本地內存
文章摘自,文章寫得很好
總結
以上是生活随笔為你收集整理的JAVA的三种常量池的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: final修饰符
- 下一篇: 关于String.Intern()的一道