什么是JVM?

JVM就是Java虚拟机,它包含堆,栈以及方法区。

1. 堆中存放的是 对象实例

// 堆中存放的就是 new Student()
Student s = new Student() ;

2. JVM中只有一个堆区,它是被所有线程 共享 的,所以也需要注意线程安全的问题。

3. 成员变量 是对象的一部分,外部是可以调用的,所以是存在堆中的。

1. 栈中存放是 基本数据类型对象的引用

// 因为是基本类型,所以引用和值都存在栈中
int a = 1;
// 栈中存放的就是 s(对象的引用)
Student s = new Student() ;

2. JVM中每个线程都有一个栈,里面的内容都是私有的,栈之间不能互相访问。

3. 局部变量 是在方法中的,方法外是不可以调用的,更像是线程私有的,所以是存放在栈中的。

方法区

1. 方法区又叫静态区,里面存放的是 .Class字节码文件static变量

2. JVM中只有一个方法区,它是被所有线程 共享 的,所以也需要注意线程安全的问题。

JVM,堆,栈,方法区之间的关系相关推荐

  1. 栈、堆、方法区之间的关系

    先放一张图: 1.栈内存中放哪些东西? 基本类型的变量,例如int a=3中的a: 对象的引用变量,例如Thread t=new Thread();中的t. 当在代码块中定义一个变量时,Java就在栈 ...

  2. JVM堆 栈 方法区详解

    一.栈 每当启用一个线程时,JVM就为他分配一个JAVA栈,栈是以帧为单位保存当前线程的运行状态 栈是由栈帧组成,每当线程调用一个java方法时,JVM就会在该线程对应的栈中压入一个帧 只有在调用一个 ...

  3. JVM学习笔记之-方法区,栈、堆、方法区的交互关系,方法区的理解,设置方法区大小与OOM,方法区的内部结构,方法区使用举例

    栈.堆.方法区的交互关系 运行时数据区结构图 从线程共享与否的角度来看 栈,堆,方法区的交互关系 方法区的理解 方法区在哪里? <Java虚拟机规范>中明确说明:"尽管所有的方法 ...

  4. JVM - 结合代码示例彻底搞懂Java内存区域_对象在堆-栈-方法区(元空间)之间的关系

    文章目录 Pre 示例demo 总体关系 代码示例论证 反汇编 Pre JVM - 结合代码示例彻底搞懂Java内存区域_线程栈 | 本地方法栈 | 程序计数器 中我们探讨了线程栈中的内部结构 ,大家 ...

  5. JVM Runtime Data Area(运行时数据区中的堆/栈/方法区讲解)

    JVM的组成 JVM由4大部分组成:ClassLoader .Runtime Data Area .Execution Engine .Native Interface.我们这里重点讲得是Runtim ...

  6. 常量池在堆还是方法区_第九章_方法区

    方法区 栈.堆.方法区的交互关系 这次所讲述的是运行时数据区的最后一个部分--方法区 从线程共享与否的角度来看 ThreadLocal:如何保证多个线程在并发环境下的安全性?典型应用就是数据库连接管理 ...

  7. JVM-04-运行时数据区-堆,方法区

    文章目录 堆 堆的核心概述 堆与进程 堆内存细分 JVisualVM可视化查看堆内存 设置堆内存大小与 OOM 设置堆内存 OOM 新生代与老年代 对象分配 具体过程⭐ 分配策略 分配一般情况 分配特 ...

  8. [二]Java虚拟机 jvm内存结构 运行时数据内存 class文件与jvm内存结构的映射 jvm数据类型 虚拟机栈 方法区 堆 含义...

    前言简介 class文件是源代码经过编译后的一种平台中立的格式 里面包含了虚拟机运行所需要的所有信息,相当于 JVM的机器语言 JVM全称是Java Virtual Machine  ,既然是虚拟机, ...

  9. 【JVM】本地方法栈与堆与方法区

    文章目录 1. 本地方法栈 2. 堆 3. 方法区 1. 本地方法栈 本地方法栈和虚拟机栈有点类似,均具有线程隔离的特点以及都能抛出StackOverflowError和OutOfMemoryErro ...

最新文章

  1. 安装anaconda 报错 failed to create menus
  2. jsp的flash小例子
  3. 多库共存 包装集的问题 点击按钮创建一个p 几个属性介绍 jQuery的插件
  4. 给网游写一个挂吧(三) – 启动外挂下
  5. 手动通过tomcat加载一个war项目。
  6. SDUT 3377 数据结构实验之查找五:平方之哈希表
  7. “约见”面试官系列之常见面试题第十四篇之所有数据类型(建议收藏)
  8. springboot 做表白墙_华广表白墙 第六期|hsl每天都想和你嘻嘻哈哈
  9. fiddler证书 iphone_使用Fiddler进行iOS APP的HTTP/HTTPS抓包
  10. 跨境电商为什么需要ERP系统?
  11. WIN10系统“计算机无法访问,您可能没有权限使用网络资源.请与这台服务器的管理员联系“的解决办法
  12. 小辩《降薪求职,到底该不该?》
  13. CodeForces - 1467C(枚举,思维)
  14. ffmpeg视频剪辑视频长度问题,视频无声音,视频卡顿问题
  15. R语言实战之基本统计分析
  16. 【mysql升级步骤】windows mysql版本升级 ,mysql 5.6 升级到5.7.27
  17. 【CV】ViT:用于大规模图像识别的 Transformer
  18. Ubuntu 18.04 Mellanox ConnectX 网络适配器驱动安装
  19. Windows驱动开发工具 WDK 学习笔记
  20. SpringBoot(38) 整合 MongoDB

热门文章

  1. solidworks2022 无效的(不一致的)使用许可号码 问题解决
  2. 如何综合掌握 DB2 和 Informix
  3. 2022-03-13-Redis
  4. MEC — 边缘网络
  5. qq登录无法连接服务器未响应,win7登录qq提示腾讯qq未响应的解决方法
  6. Word标准简单格式
  7. 同为标准版 OPPO Reno7和华为nova9怎么选,这几点要搞清楚
  8. 计量实证-PSM-DID教程、代码及数据分享
  9. dot.tk+namecheap.com搭建免费顶级域名+快速动态域名+Dns解析
  10. 《Windows 8 权威指南》——2.2 Windows 8 Metro界面