堆中存放对象

jvm中只有一个堆区,各线程共享

优缺点:内存是动态的,生命周期不定GC自动回收,速度慢

栈中存放基础数据类型,自定义对象的引用(非对象)

每个线程一个栈区,栈内数据私用,线程独享

栈分三部分:基本类型变量、执行环境上下文、操作指令区

优缺点:速度快,但是大小、生命周期固定,不灵活

方法区

也叫静态区,所有线程共享

存放所有的class,static变量

包含的是在整个程序中永远唯一的元素,如:class,static变量

直接内存

堆外内存,并非虚拟机数据区的一部分,可以分配的,大小受本机内存限制

与堆区相比,IO读写性能要优于堆区,频繁申请更耗费性能

转载于:https://www.cnblogs.com/jhin-wxy/p/9016591.html

堆、栈、方法区、直接内存相关推荐

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

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

  2. JVM堆 栈 方法区详解

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

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

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

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

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

  5. 46栈内存溢出、内存区域(程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区、直接内存、内存溢出)与内存溢出(对象实例化分析)

    46.什么情况下会发生栈内存溢出 46.1.Java 内存区域与内存溢出 46.1.1.内存区域 46.1.1.1.程序计数器 46.1.1.2.Java 虚拟机栈 46.1.1.3.本地方法栈 46 ...

  6. Java内存分析—栈,堆,方法区

    Java内存分析-栈,堆,方法区 一.栈: 1).特点是:自动分配,连续空间,先进后出原则. 2).基本数据类型(一共有八种,char,byte,short,int,long,float,double ...

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

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

  8. 从几个sample来学习Java堆,方法区,Java栈和本地方法栈

    2019独角兽企业重金招聘Python工程师标准>>> 最近在看<深入理解Java虚拟机>,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程 ...

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

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

  10. 常量池详解(含栈、堆、方法区简析)

    1 位置分布图 2 内存区域类型 寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制: 堆:存放所有new出来的对象: 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈 ...

最新文章

  1. 093_Element.getBoundingClientRect()方法和DOMRect对象
  2. 构造函数和析构函数中抛出异常
  3. Azure 上的网站如何识别不同国家和地区的用户
  4. android 记录路线轨迹_基于百度地图SDK记录运动轨迹
  5. 前端学习(1994)vue之电商管理系统电商系统之通过编程导航跳转到商品导航界面
  6. 软件外部接口和内部接口_java中的内部类内部接口详解
  7. ubuntu 安装php redis,ubuntu上安装php redis
  8. MySQL基础操作汇总二
  9. python小技巧 - 如何成为Python高手
  10. System.SetString - 获取字符串
  11. unity 插件 color picker htc手柄控制,扣动扳机生成三维点线
  12. UNIX 环境高级编程之我见
  13. 柴静《看见》中一段深有感触的话
  14. CentOs 7.3 —— 使用rescue找回被删除的系统文件
  15. oracle报1405,【案例】Oracle报错ORA-15054 asm diskgroup无法mount的解决办法
  16. c语言实践输出某个区间中不是3的倍数的偶数
  17. c语言输出行末不得有多余空格,2019年春季学期第四周作业
  18. 数分下第4讲 (8.2节): 平面和直线
  19. 币圈炒币只有四种人能赚到钱其中之一是使用炒币机器人的玩家
  20. 真相的监控依赖 让监控规制更加凸显

热门文章

  1. java进入下一个_在进入下一个循环迭代之前执行setTImeout操作
  2. python生成斐波那契_python学习-生成器(generator)及斐波那契;yield
  3. python实现记事本的查找功能_Python + PyQt4 实现记事本功能
  4. sublime配置python开发环境_Sublime Text 配置Python3.7开发环境
  5. 网络营销外包排名没效果想必是这些因素影响了网络营销外包
  6. 浅析网站建设与设计有哪些需要引起重视的行业规范
  7. 华为硬件笔试 通用器件知识2_华为硬件笔试题(最新版)
  8. 怎么共享电脑上的文件_电脑小技巧--远程访问共享文件夹
  9. vim 忽略大小写查找字符串
  10. 开发日记-20190702 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 8