JAVA中方法区是不是堆的一部分

 我来答
鬼扯吧e3f
2019-07-11
知道答主
回答量:1
采纳率:0%
帮助的人:713
展开全部
方法区,又称永久代(Permanent Generation),常称为PermGen,位于非堆空间,又称非堆区(Non-Heap space)。

方法区是被所有线程共享。
所有字段和方法字节码,以及一些特殊方法如构造函数,接口代码也在此定义。
简单说,所有定义的方法的信息都保存在该区域,此区属于共享区间。

静态变量 + 常量 + 类信息(构造方法/接口定义) + 运行时常量池存 在方法区中 。

但是, 实例变量 存在 堆内存 中,和方法区无关。

以上,只是逻辑上的定义。在HotSpot中,方法区仅仅只是逻辑上的独立,实际上还是包含在Java堆中,也是就说,方式区在物理上属于Java堆区中的一部分,而永久区(Permanent Generation)就是方法区的实现。
匿名用户
2017-03-01
展开全部

方法区跟堆不是一个概念,是不同的2个区域,也没有从属关系

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
任子叶2
2019-10-08
知道答主
回答量:1
采纳率:0%
帮助的人:683
展开全部
可以说是堆的逻辑部分,但是它有一个别名为Non-Heap(非堆),目的就是为了将其与Java堆区分开。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dark19861201
2016-11-22 · TA获得超过2152个赞
知道大有可为答主
回答量:2584
采纳率:79%
帮助的人:1774万
展开全部
好像不是,编程语言的方法据我所知都是通过栈内存来存储的,栈后进先出的特性很适合存储方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
末班车菂等待
2019-10-09
知道答主
回答量:36
采纳率:0%
帮助的人:7.7万
展开全部
jdk 8 已经没有永久代 即把方法区放到了 native 本地内存中 , 方法区还是方法区 但是 实现从堆的永久变到了真正的外部, 好像是为了合并做准备
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式