JVM 方法区

这篇具有很好参考价值的文章主要介绍了JVM 方法区。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法区 (非堆) : 存放 Class 文件信息。如 : 类信息、字段信息、方法信息、常量、静态变量、代码缓存

  • 元空间溢出的错误 : java.lang.OutOfMemoryError: MetaSpace

方法区的关系 :

  • JDK 8 : 元空间 (Metaspace) , 在本地内存中
  • JDK7 : 永久代 (Perm Space) , 在堆中

image.png

刚启动时 , 就 Full GC , 但老年代充足 , 检查 Metaspace 区大小

运行时常量池

方法区的运行时常量池 : 存放类加载后的常量池表 (Constant Pool Table)

  • 当常量池无法申请内存时 , 会抛出 OutOfMemoryError 错误

字符串常量池

字符串常量池 : 避免字符串的重复创建

JDK 1.7 后,将字符串常量池放在堆中

  • 能及时回收字符串内存

image.png

方法区指向堆

方法区中元素指向堆中的对象 : private static Object obj=new Object();

image.png文章来源地址https://www.toymoban.com/news/detail-511525.html

到了这里,关于JVM 方法区的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么时候会触发FullGC?描述一下JVM加载class文件的原理机制?

    什么时候会触发 FullGC? 除直接调用 System.gc 外,触发 Full GC 执行的情况有如下四种。 1. 旧生代空间不足 旧生代空间只有 在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行 Full GC 后空间仍然不 足,则抛出如下错误: java.lang.OutOfMemoryError: Java heap spac

    2024年02月20日
    浏览(46)
  • 谷歌浏览器如何查看cookie存放信息

    Cookie,有时也用其复数形式 Cookies。类型为“ 小型文本文件 ”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。下面以谷歌游览器查看cookie为例 谷歌浏览器查看cookie 1.打开谷歌游

    2024年02月05日
    浏览(48)
  • Java笔记:使用javassist修改class文件内方法

    在工作突然有一个需求。线上运维的一个tomcat的web项目,运行的程序不正常。需要修改代码。可是这个项目代码非常的老,并且公司存储的源代码跟线上的不一致。 我了个擦,没有源代码但是还要结局客户的问题。只能到线上将对应程序的class文件拷贝到本地进行修改,每修

    2024年02月03日
    浏览(42)
  • 字节流及存放本地文件上传和下载文件

    之前的文章有写过 vue+springboot使用文件流实现文件下载 实现如何通过 的形式进行下载文件 但是它对于很多业务场景相对适用性不是很广泛。 以及 elementUI加springboot实现上传excel文件给后端并读取excel 也只能是通过elementui的元素类型进行上传。 因此,本次文章将通过两种方式

    2024年02月15日
    浏览(45)
  • linux用户密码存放在哪个文件

    linux用户密码存放在“/etc/shadow”文件中。“/etc/shadow”文件又称为“影子文件”,用于存储Linux系统中用户的密码信息;该文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。 本教程操作环境:linux7.3系统、Dell G3电脑。 linux用户密码存放在

    2024年01月18日
    浏览(37)
  • jvm 什么是常量池,常量池定义 class常量池

    首先需要理解下Java的class文件,以及class文件结构: 1. Class文件 是一组以8个字节为基础单位的 二进制流 ,各个数据项目严格按照顺序紧凑地排列在文 件之中, 中间没有任何分隔符 ,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据, 没有空隙存在 。当遇到

    2024年02月11日
    浏览(40)
  • Jtti:怎么查看docker文件存放目录

    Docker 默认将镜像、容器数据和相关文件存储在特定的目录中。具体的存储路径可能会因 Docker 安装方式和操作系统而异。以下是一些常见情况下查看 Docker 存储目录的方法: 方法 1: 使用 Docker 命令 使用以下命令可以查看 Docker 存储目录的位置: docker info | grep -i \\\'docker root dir

    2024年01月21日
    浏览(38)
  • 解决qt中cmake单独存放 .ui, .cpp, .h文件

    创建时间:2023-02-18 17:58:04 项目文件较多,全部放在一个目录下就像依托答辩。 希望能将头文件放入 include ,ui文件放入 ui ,源文件放入 src 。 为了将Qt代码和一般非Qt代码分离开,进一步地: 将Qt源文件放入 qt_src ,普通源文件放入 src 将Qt头文件放入 qt_include ,普通头文件放

    2024年02月02日
    浏览(46)
  • docker安裝mysql(8.0.20)并且指定配置文件和数据存放位置

    4、拷贝mysql的配置文件和数据

    2024年02月03日
    浏览(35)
  • AI绘画软件Stable Diffusion模型/Lora/VAE文件存放位置

    建议直接去civitai.com找模型,如果无法找到可以在幕后模型区找也可以去, 下载好后放入对应的文件夹。进入127.0.0.1:7680 左上角刷新即可看到新的模型。 大模型 大模型特指标准的 latent-diffusion 模型。拥有完整的 TextEncoder 、 U-Net 、 VAE 。 由于想要训练一个大模型非常困难,需

    2024年01月22日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包