java堆是虚拟机所管理的内存中最大的一块。java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,java世界里几乎所有的对象实例都在这里分配内存,所有的对象实例以及数组都应该在堆上分配。

java堆是垃圾收集器管理的内存区域,从回收内存的角度看,由于现代垃圾收集器大部分基于分代收集理论设计,新生代,老年代,永久代,eden空间,from survivor空间,to survivor空间

从内存分配的角度看,可以划分出多个线程私有的分配缓冲区TLAB,以提升对象分配时的效率。不过无论从什么角度,无论如何划分,都不会改变java堆中存储内容的共性,无论是哪个区域,存储的都只能是对象的实例。

java堆可以处于物理上不连续的内存空间中,但在逻辑上他应该是为连续的,这点就像我们用磁盘空间去存储文件一样,并不要求每个文件都连续存放。但对于大对象(典型的如数组对象),多数虚拟机实现处于实现简单、存储高效的考虑,很可能会要求连续的内存空间。

java堆即可以被实现成固定大小的,也可以是可扩展的,不过当前主流的java虚拟机都是按照可扩展来实现的(通过参数-xmx和xms设定)。

java虚拟机之java堆相关推荐

  1. 0x00000000指令引用的内存不能为written_「深入Java虚拟机」Java内存区域与内存溢出...

    内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域.Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器.Java虚拟机栈.本地方法栈 ...

  2. java虚拟机系列:java虚拟机内存模型

    java内存模型,分为程序计数器,虚拟机栈,本地方法栈,java堆,java栈.根据受访的权限不同设置,可以分为线程共享和线程私有.线程共享指可以允许所有的线程共享访问的一类内存区域,包括堆内存区,方 ...

  3. Java虚拟机 和 java虚拟机下的进程

    一.什么是Java虚拟机      当你谈到Java虚拟机时,你可能是指:      1.抽象的Java虚拟机规范      2.一个具体的Java虚拟机实现      3.一个运行的Java虚拟机实 ...

  4. Java虚拟机:Java虚拟机结构

    要去"正确地"实现一台Java虚拟机,其实并不像大多数人所想的那样高深和困难--只需要正确读取class文件中每一条字节码指令,并且能正确执行这些指令所蕴含的操作即可. class ...

  5. java虚拟机原理(java虚拟机的基本结构)

    虚拟机的分类 虚拟机大体上分为系统虚拟机和程序虚拟机: 如:大名鼎鼎的VMware就属于系统虚拟机,VMware是完全对物理计算机的仿真,提供一个可以运行完整操作系统的软件平台: 程序虚拟机的代表就是 ...

  6. 深入理解 Java 虚拟机——走近 Java

    1.1 - 概述 Java 总述:Java 不仅是一门编程语言,还是一个由一系列 计算机软件 和 规范 形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于 嵌入式 ...

  7. 《深入理解Java虚拟机》Java内存区域与内存溢出异常

    <深入理解Java虚拟机>Java内存区域与内存溢出异常 参考文章: (1)<深入理解Java虚拟机>Java内存区域与内存溢出异常 (2)https://www.cnblog ...

  8. Java虚拟机规范 Java SE 8版 - class文件格式(二)

    Java虚拟机规范 Java SE 8版 - class文件格式(二) 4.5 字段 4.6 方法 4.7 属性 4.7.1 自定义和命名新的属性 4.7.2 ConstantValue 属性 4.7 ...

  9. 安装java虚拟机 jvm_一、安装JDK1、 JVM(Java Virtual Machine—Java虚拟机)JRE(Java Runtime Environment—Java运行...

    一.安装JDK 1. JVM(Java Virtual Machine-Java虚拟机) JRE(Java Runtime Environment-Java运行时环境) JDK(Java Develo ...

  10. 深入理解Java虚拟机-走近Java

    本博客主要参考周志明老师的<深入理解Java虚拟机>第二版 读书是一种跟大神的交流.阅读<深入理解Java虚拟机>受益匪浅,对Java虚拟机有初步的认识.这里写博客主要出于以下 ...

最新文章

  1. 007_Vue style样式绑定
  2. 《中国编程挑战赛--资格赛》赛题及解答
  3. Enterprise Architecture 13 将顺序图自动转化为协作图
  4. python获取文件名及文件扩展名的方法
  5. ACM-ICPC 2018 沈阳赛区现场赛 K. Let the Flames Begin (约瑟夫环问题)
  6. 厉害了 | 一秒切换Hexo中英文,厉害了!!
  7. python的logo图_Turtle绘画Python-logo
  8. SPI机制入门、SPI机制原理
  9. 压缩(minify)
  10. 美团外卖与饿了么竞品分析
  11. 国内使用谷歌地图方案
  12. 特殊符号大全(建议收藏_复制着用_数学符号最下面)
  13. 施一公:如何做一名优秀的博士生
  14. 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的求职之路
  15. 增加PRODUCT_BOOT_JARS及类
  16. 数值分析基础工具使用Matlab绘制双曲线
  17. Python 豆瓣网的全自动登录(豆瓣验证码自动识别)
  18. iMazing2023官网中文版下载及许可证附使用教程
  19. Excel将日期和数字一键转为文本格式的操作
  20. 解决在ros catkin_make编译时出现“make[2]:*** 没有规则可制作目标“的问题

热门文章

  1. Hyperledger fabric-couchdb镜像版本的坑
  2. C# 类库组件在工具箱不显示问题
  3. 基于Unity3D的黄金矿工
  4. Justinmind,为移动设计而生
  5. 用RCircos包来画圈圈图
  6. Linux网卡驱动分析
  7. uva 563 Crimewave
  8. [单片机框架][DFU] Dfu升级例子 带crc校验+超时机制+led指示灯+芯片加锁+芯片自擦
  9. vs中开发web项目IIS Express支持局域网连接
  10. 计算机网络——链路层与局域网