java8静态变量放在哪个区_jdk8.0 内存划分

java8静态变量放在哪个区_jdk8.0 内存划分java1.8之前内存区域分为方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。下图所示:方法区(MethodArea)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做Non-Heap(非堆),目的应该是与Java堆区分开来。很多人都更愿意把方…

大家好,又见面了,我是你们的朋友全栈君。

java1.8之前内存区域分为方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 下图所示:

919ba7189a9d91cbcfa60e5be47ee28b.png

cf3c91f82397242300d167719f673cc0.png方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做Non-Heap(非堆),目的应该是与Java堆区分开来。很多人都更愿意把方法区称为“永久代”(Permanent Generation)。从jdk1.7已经开始准备“去永久代”的规划,jdk1.7的HotSpot中,已经把原本放在方法区中的静态变量、字符串常量池等移到堆内存中。

在jdk1.8中,永久代已经不存在,存储的类信息、编译后的代码数据等已经移动到了元空间(MetaSpace)中,元空间并没有处于堆内存上,而是直接占用的本地内存(NativeMemory)。

元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。因此,默认情况下,元空间的大小仅受本地内存限制,但可以通过以下参数来指定元空间的大小:

<

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131072.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月12日 下午11:00
下一篇 2022年6月12日 下午11:00


相关推荐

  • OpenClaw在windows下开机自启动

    OpenClaw在windows下开机自启动

    2026年3月16日
    5
  • 计算机科学和电子信息学报,太赫兹科学与电子信息学报

    计算机科学和电子信息学报,太赫兹科学与电子信息学报太赫兹科学与电子信息学报 双月刊 创刊于 2003 年 是由中国工程物理研究院主管 中国工程物理研究院电子工程研究所主办 四川省电子学会协办的国内外公开发行的学术期刊 经国家新闻出版总署批准 信息与电子工程 于 2013 年 1 月起更名为 太赫兹科学与电子信息学报 国内外公开发行 主管单位为中国工程物理研究院 主办单位为中国工程物理研究院电子工程研究所 协办单位为中国兵工学会太赫兹应用技术专业委员会

    2026年3月19日
    3
  • linux命令保存并退出_vim退出命令

    linux命令保存并退出_vim退出命令如何快速保存退出vim在普通模式(进入vim时的模式)下按shift+zz

    2022年8月24日
    9
  • PyTorch中的转置卷积详解——全网最细

    PyTorch中的转置卷积详解——全网最细前言转置卷积,学名transposedconvolution,在tf和torch里都叫这个。有时在论文里可以看到别人叫它deconvolution(反卷积),但这个名词不合适。因为转置卷积并非directconvolution的逆运算(reverse),并不能还原出原张量。只是从形状上看,其结果的形状等同于逆运算。写这篇文章还是因为网上介绍转置卷积的博客,都讲不清楚,我看了半天还是云里雾里。只能自己手动来一篇了。一、基本运算——错位扫描定义本文中,我们将平时用到的普通卷积,称为dir

    2022年6月21日
    39
  • 硬编码和软编码

    硬编码和软编码计算机科学中 只有硬编码 hardcode 以及非硬编码 有人也成为 软编码 硬编码和软编码的区别是 软编码可以在运行时确定 修改 而硬编码是不能够改变的 java 小例子 inta 2 b 2 硬编码 if a 2 returnfalse 非硬编码 if a b returntrue 就是把数值写成常量而不是变量 一个简单的版本

    2026年3月26日
    2
  • EasyAdmin CURD命令大全

    EasyAdmin CURD命令大全常用命令 生成 ea test goods 表的 CURDphpthink ttest goods 生成 ea test goods 表的 CURD 文件冲突时强制覆盖 phpthinkcurd ttest goods f1 删除 ea test goods 表的 CURDphpthink ttest goods d1 生成 ea test goods 表的 CURD 控制器在目录 demo 下的 Goods php 文件 phpthinkcurd t

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号