『壹』 java中方法区是不是堆的一部分
可以说是堆的逻辑部分,但是它有一个别名为Non-Heap(非堆),目的就是为了将其与Java堆区分开。
『贰』 java中堆区中的永久代是不是就是所谓的方法区
方法区:线程共享的,用于存放被虚拟机加载的类的元数据信息:如常量、静态变量、即时编译器编译后的代码。也称之为永久代。
『叁』 Java堆的结构是什么样子的什么是堆中的永久代
Java堆是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程所共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存储对象实例,几乎所有的对象实例都在这里分配内存。这一点在Java虚拟机规范中描述是:The heap is the runntime data area from which memory for all class instances and arrays is allocated。也就是说是在Java堆上进行分配实例对象和数组的。
有一种说法是 使用 永久代 来实现方法区。具体可以参考 “深入理解Java虚拟机”中对于堆的介绍