各位大神 对方法区的理解是怎样的。? 如它是在栈里,还是在堆中? 它是可以动态改变大小的 ?是可以数据共享的 ?在深入java虚拟机中遇到的,有点模糊啊。。 求详细且通俗解释 ,谢谢

解决方案 »

  1.   

    方法区是被所有jvm的线程共享的,它类似于传统语言编译码的存储区或在Unix进程中的文字段,它存储的是按类(Class)区分的结构信息
    方法区是在虚拟机启动的时候被创建的。虽然方法区逻辑上是堆的一部分,如果是简单的实现,就不会选择去垃圾收集或装满它。
    方法区或是固定大小的或是可以因实时计算要求被扩大或是因为没必要更大的方法区而被压缩