Class文件常量池、運行時常量池、字符串常量池

  • Class常量池:保存類編譯生成的字面量和符號引用。Class文件除了類字段,方法,接口描述等,還有Class常量池ui

  • 運行時常量池: 是JVM的概念,除了存放編譯生成字面量和符號引用。還容許運行時產生常量,好比String.intern方法lua

    • JDK 1.6 中運行時常量池在方法區,而方法區放在內存中的永生代。
    • JDK 1.7中常量池從方法區中移了出來,在Java 堆(Heap)中開闢了一塊區域存放運行常量池。
    • JDK1.8 將方法區直接放在一個與堆不相連的本地內存區域,這個區域被叫作元空間。
  • 字符串常量池。String類管理的常量池,處於堆內存中。.net

參考:code

好好說說Java中的常量池之Class常量池blog

《Java虛擬機原理圖解》 1.2.二、Class文件中的常量池詳解(上)接口

https://www.zhihu.com/question/309938291/answer/579500930內存

聊一聊讓我矇蔽一夜的各類常量池字符串

相關文章
相關標籤/搜索