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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 插头DP小结_dp插头接线标准

    插头DP小结_dp插头接线标准插头DP一般都是棋盘模型,找路径或者环路最值或者方案数。插头:说白了就是两个联通的格子,一个走向另一个,那么这里就有一个插头。轮廓线:DP逐格DP,那么轮廓线可以分开DP过的格子和未DP的格子。轮廓线的长度明显是m+1。插头垂直于轮廓线。转移:轮廓线在换行的时候要位移,这个画画图就出来了。然后具体问题具体讨论。比如任意多个环路,不考虑方向,那么就是eatthetrees,用最

    2022年10月28日
  • 会让程序员争论起来的几个话题

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 1、世界上最好的编程语言 这个话题是千年老梗,但只要论坛有小白提问总会引起争论。 A:Python 是最好的编程语言…

    2021年6月24日
  • ftp服务器文件防盗链,IIS防盗链组件[通俗易懂]

    ftp服务器文件防盗链,IIS防盗链组件[通俗易懂]一个用于防盗链和限制IIS连接线程的组件,需要IIS用ISAPI的方式加载组件,在2003服务器上测试2008服务器的话需要安装ISAPI扩展。相关软件软件大小版本说明下载地址一个用于防盗链和限制IIS连接线程的组件。本组件已经应用于PC6下载服务器,经过一段时间的测试效果比较明显。需要IIS用ISAPI的方式加载组件,在2003服务器上测试2008服务器的话需要安装ISAPI扩展。打开IIS…

    2022年7月23日
  • 阿里云服务器开放端口设置_阿里云服务器开启全部端口

    阿里云服务器开放端口设置_阿里云服务器开启全部端口一、问题未开放端口号,如何开放端口号呢?咱们下边以redis为例二、操作1、阿里云部分先把服务器上的实例配置打开进入安全组规则选择添加或者手动编辑,我这里已经有了redis,所以随意添加一个为例这样就添加成功了!2、在linux系统中检查端口号是否存在#查看是否开启了6379端口号firewall-cmd–list-ports发现报如下错误:表示没有开启防火墙,下面我们先开启防火墙#开启防火墙systemctls…

    2022年9月1日
  • eclipse导入maven工程,右键没有build path和工程不能自动编译解决方法

    eclipse导入maven工程,右键没有build path和工程不能自动编译解决方法原文链接:https://blog.csdn.net/wusunshine/article/details/52506389eclipse导入maven工程,右键没有buildpath解决方法:由于.project文件缺少<natures><nature>org.eclipse.jdt.core.javanature</nature&gt…

    2022年5月31日
  • Linux 命令完全手册「建议收藏」

    Linux 命令完全手册「建议收藏」这本《Linux命令完全手册》将涵盖你作为开发者需要用到的60个核心Bash命令。每个命令都附有代码示例和用法提示。这本手册遵循二八定律:你花两成的时间学习一个主题,便可获得其中八成的知识。我觉得这种方式能给你一个全面的概述。这本手册并不试图涵盖所有关于Linux及其命令的内容,而是专注于那些你在大部分时间里都会用到的小型核心命令,同时试着简化更复杂命令的用法。以下介绍的命令,在Linux、macOS、WSL和其他类UNIX环境均可使用。我希望这本手册的内…

    2022年9月23日

发表回复

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

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