java虚拟机之java堆
java堆是虚拟机所管理的内存中最大的一块。java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,java世界里几乎所有的对象实例都在这里分配内存,所有的对象实例以及数组都应该在堆上分配。
java堆是垃圾收集器管理的内存区域,从回收内存的角度看,由于现代垃圾收集器大部分基于分代收集理论设计,新生代,老年代,永久代,eden空间,from survivor空间,to survivor空间
从内存分配的角度看,可以划分出多个线程私有的分配缓冲区TLAB,以提升对象分配时的效率。不过无论从什么角度,无论如何划分,都不会改变java堆中存储内容的共性,无论是哪个区域,存储的都只能是对象的实例。
java堆可以处于物理上不连续的内存空间中,但在逻辑上他应该是为连续的,这点就像我们用磁盘空间去存储文件一样,并不要求每个文件都连续存放。但对于大对象(典型的如数组对象),多数虚拟机实现处于实现简单、存储高效的考虑,很可能会要求连续的内存空间。
java堆即可以被实现成固定大小的,也可以是可扩展的,不过当前主流的java虚拟机都是按照可扩展来实现的(通过参数-xmx和xms设定)。
java虚拟机之java堆相关推荐
- 0x00000000指令引用的内存不能为written_「深入Java虚拟机」Java内存区域与内存溢出...
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域.Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器.Java虚拟机栈.本地方法栈 ...
- java虚拟机系列:java虚拟机内存模型
java内存模型,分为程序计数器,虚拟机栈,本地方法栈,java堆,java栈.根据受访的权限不同设置,可以分为线程共享和线程私有.线程共享指可以允许所有的线程共享访问的一类内存区域,包括堆内存区,方 ...
- Java虚拟机 和 java虚拟机下的进程
一.什么是Java虚拟机 当你谈到Java虚拟机时,你可能是指: 1.抽象的Java虚拟机规范 2.一个具体的Java虚拟机实现 3.一个运行的Java虚拟机实 ...
- Java虚拟机:Java虚拟机结构
要去"正确地"实现一台Java虚拟机,其实并不像大多数人所想的那样高深和困难--只需要正确读取class文件中每一条字节码指令,并且能正确执行这些指令所蕴含的操作即可. class ...
- java虚拟机原理(java虚拟机的基本结构)
虚拟机的分类 虚拟机大体上分为系统虚拟机和程序虚拟机: 如:大名鼎鼎的VMware就属于系统虚拟机,VMware是完全对物理计算机的仿真,提供一个可以运行完整操作系统的软件平台: 程序虚拟机的代表就是 ...
- 深入理解 Java 虚拟机——走近 Java
1.1 - 概述 Java 总述:Java 不仅是一门编程语言,还是一个由一系列 计算机软件 和 规范 形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于 嵌入式 ...
- 《深入理解Java虚拟机》Java内存区域与内存溢出异常
<深入理解Java虚拟机>Java内存区域与内存溢出异常 参考文章: (1)<深入理解Java虚拟机>Java内存区域与内存溢出异常 (2)https://www.cnblog ...
- 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 ...
- 安装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 ...
- 深入理解Java虚拟机-走近Java
本博客主要参考周志明老师的<深入理解Java虚拟机>第二版 读书是一种跟大神的交流.阅读<深入理解Java虚拟机>受益匪浅,对Java虚拟机有初步的认识.这里写博客主要出于以下 ...
最新文章
- 007_Vue style样式绑定
- 《中国编程挑战赛--资格赛》赛题及解答
- Enterprise Architecture 13 将顺序图自动转化为协作图
- python获取文件名及文件扩展名的方法
- ACM-ICPC 2018 沈阳赛区现场赛 K. Let the Flames Begin (约瑟夫环问题)
- 厉害了 | 一秒切换Hexo中英文,厉害了!!
- python的logo图_Turtle绘画Python-logo
- SPI机制入门、SPI机制原理
- 压缩(minify)
- 美团外卖与饿了么竞品分析
- 国内使用谷歌地图方案
- 特殊符号大全(建议收藏_复制着用_数学符号最下面)
- 施一公:如何做一名优秀的博士生
- 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的求职之路
- 增加PRODUCT_BOOT_JARS及类
- 数值分析基础工具使用Matlab绘制双曲线
- Python 豆瓣网的全自动登录(豆瓣验证码自动识别)
- iMazing2023官网中文版下载及许可证附使用教程
- Excel将日期和数字一键转为文本格式的操作
- 解决在ros catkin_make编译时出现“make[2]:*** 没有规则可制作目标“的问题