当前位置: 首页 > news >正文

JVM中的内存区域划分

        JVM中的内存布局由以下五大部分组成:

        堆(线程间共享)

        堆主要存储程序创建的对象与对象的非静态成员变量.

        堆中的新生代区与老生代区是在垃圾回收阶段中根据对象的存活时间来放入的.

        虚拟机栈(每个线程独有一份)

        虚拟机栈的作⽤:Java虚拟机栈的⽣命周期和线程相同,Java虚拟机栈描述的是Java⽅法执⾏的内存模型:每个⽅法在执⾏的同时都会创建⼀个栈帧(Stack Frame)⽤于存储局部变量表,操作数栈,动态链接,⽅法出⼝等信息。咱们常说的堆内存,栈内存中,栈内存指的就是虚拟机栈.

        本地方法栈(每个线程独有一份)

        本地⽅法栈和虚拟机栈类似,只不过Java虚拟机栈是给JV使⽤的,⽽本地⽅法栈是给本地⽅法使⽤的.

        程序计数器(每个线程独有一份)

        程序计数器的作⽤:⽤来记录当前线程执⾏的⾏号的.
程序计数器是⼀块⽐较⼩的内存空间,可以看做是当前线程所执⾏的字节码的⾏号指⽰器。
如果当前线程正在执⾏的是⼀个Java⽅法,这个计数器记录的是正在执⾏的虚拟机字节码指令的地址;如果正在执⾏的是⼀个Native⽅法,这个计数器值为空。

        元数据区(线程间共享)

        元数据区的作⽤:⽤来存储被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据的.

        运行时常量池是元数据区的一个部分,class文件中除了有类的版本,字段,方法,接口等描述信息外,还有一项信息是常量池,用于存放编译期间生成的各种字面量和符号引用,这部分内容会在类加载后进入方法区的运行时常量池中.

http://www.dtcms.com/a/438069.html

相关文章:

  • 做网站用小图标在什么网下载电脑如何做网站
  • FFmpeg 全面教程:从安装到高级应用
  • 10月3号
  • QT肝8天15--左侧静态菜单
  • 开源安全工具推荐:afrog- 主要用于 Bug Bounty、Pentest 和 Red Teaming 的安全工具
  • Go中的字符串
  • 为什么要做外贸网站公司邮箱域名是什么
  • 《政企API网关:安全与性能平衡的转型实践》
  • 安卓基础组件026-TabLayout
  • Day03_刷题niuke20251004
  • LeetCode:88.乘积最大子数组
  • 7.Java线程中的重要方法(interrupt、isInterrupted、interrupted)
  • 【深度学习计算机视觉】09:语义分割和数据集
  • Vue3 + Three.js 实现 3D 汽车个性化定制及展示
  • 外贸网站 费用广告公司取名字
  • 金融分析师技能提升路径与学习资源指南
  • MySQL processes, threads, connections的区别
  • 自己做的网站首页变成符号了工程与建设
  • P6374 「StOI-1」树上询问(倍增+LCA)
  • epoll_ctl函数中`sockfd` 和 `ev.data.fd`的疑问解析
  • 做元器件上什么网站做网站公司的排名
  • hadoop-hdfs-secondaryNameNode
  • 每日一个网络知识点:OSI参考模型
  • 怎么在国外网站做推广wordpress企业主题制作视频教程
  • K8s不同工作负载对应LOL里哪位英雄
  • 【探寻C++之旅】第十六章:unordered系列的认识与模拟实现
  • 用terraform 创建一个GKE private cluster
  • [优选算法专题三.二分查找——NO.22寻找峰值]
  • 中国建设银行官方网站下载北京企业做网站
  • [优选算法专题三.二分查找——NO.24搜索旋转排序数组中的最⼩值]