栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

jvm方法区的基本理解

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jvm方法区的基本理解

概述
  • 方法区在逻辑上是堆的一部分,但因为一些简单的实现不会选择去进行垃圾收集或者压缩,所以可以把方法区看做是一块独立于java堆的内存空间
  • 方法区跟堆一样,是各个线程共享的区域
  • 方法区在启动的时候就创建了,实际内存可以是不连续的
  • 方法区的大小是可以扩展的或配置固定大小,大小决定了系统可以保存多少个类,如果加载的类过多则会报oom异常,如加载了大量的第三方jar包,tomcat部署的工程很多,有大量动态生成的反射类。
  • 关闭jvm就会释放方法区的内存
方法区的演进

jdk7之前是永久代,jdk8开始就使用元空间。
在虚拟机规范中,方法区和永久代不等价,仅仅是hotspot来说是。规范中对方法区得实现没有要求,BEA JRockit和IBM J9就没有永久代

在jdk中因为收购了JRockit,统一了方法区的实现,成为元空间,与永久代的最大区别在于,不在虚拟机设置的内存中,而是使用本机内存(会更大)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/395800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号