JVM 虚拟机图文详解!真香!秒懂!一点都不难!
前言:
了解
Java
中的对象、变量等存放的内存区域十分重要本文将全面讲解
Java
虚拟机中的内存模型 & 分区,希望你们会喜欢
目录:
1. 内存模型 & 分区
Java
虚拟机在运行Java
程序时,会管理着一块内存区域:运行时数据区
在运行时数据区里,会根据用途进行划分:
Java
虚拟机栈(栈区)本地方法栈
Java
堆(堆区)方法区
程序计数器
下面,我将详细介绍每个内存模型分区
2. Java 堆
示意图
简介
3. Java 虚拟机栈
示意图
简介
4. 本地方法栈
示意图
简介
十分类似
Java
虚拟机栈,与Java虚拟机区别在于:服务对象,即Java虚拟机栈为执行Java
方法服务;本地方法栈为执行Native
方法服务
5. 方法区
示意图
简介
注
其内部包含一个运行时常量池,具体介绍如下:
6. 程序计数器
示意图
简介
7. 额外知识:直接内存
定义:
NIO
类(JDK
1.4引入)中基于通道和缓冲区的I/O
方式 通过使用Native
函数库 直接分配 的堆外内存特点:不受堆大小限制
应用场景:适用于频繁调用的场景
通过一个 存储在
Java
堆中的DirectByteBuffer
对象 作为这块内存的引用 进行操作,从而避免在Java
堆和Native
堆之间来回复制数据,提高使用性能
抛出的异常:
OutOfMemoryError
,即与其他内存区域的总和 大于 物理内存限制
本文全面讲解JVM中的内存模型 & 分区,总结如下
JVM 虚拟机图文详解!真香!秒懂!一点都不难!相关推荐
- JVM 虚拟机栈详解
当Java虚拟机运行程序时.每当一个新的线程被创建时.Java 虚拟机都会分配一个虚拟机栈,Java虚拟机栈是以帧为单位来保存线程的运行状态.Java栈只会有两种操作:以帧为单位进行压栈跟出栈. 某个 ...
- [java] 虚拟机(JVM)底层结构详解[转]
[java] 虚拟机(JVM)底层结构详解[转] 本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 在以前的博客里面,我们介绍了在java领 ...
- Hadoop入门(四)——模板虚拟机环境准备(图文详解步骤2021)
Hadoop入门(四)--模板虚拟机环境准备(图文详解步骤2021) 系列文章传送门 这个系列文章传送门: Hadoop入门(一)--CentOS7下载+VM上安装(手动分区)图文步骤详解(2021) ...
- VMware下OSSIM 5.2.0的下载、安装和初步使用(图文详解)
入门阶段不建议选用最新的版本. 采用OSSIM 4.11 到 OSSIM5.0.3 之间任何版本做实验,sensor的状态都会是"V". 建议,入门,采用OSSIM5.0.0 ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
- Docker持续部署图文详解
2019独角兽企业重金招聘Python工程师标准>>> Docker持续部署图文详解 博客分类: docker 架构 JAVA项目如何通过Docker实现持续部署(只需简单四步),即 ...
- qt on android qml,Qt on Android: Qt Quick 之 Hello World 图文详解
在上一篇文章,<Qt on Android:QML 语言基础>中,我们介绍了 QML 语言的语法,在最后我们遗留了一些问题没有展开,这篇呢,我们就正式开始撰写 Qt Quick 程序,而那 ...
- CentOS 7安装教程(图文详解)如下
虚拟机安装 CentOS 7安装教程(图文详解)如下:
- 实验图文详解——apache的编译安装及httpd服务开机自启
实验图文详解--apache的编译安装及httpd服务开机自启 1.导入安装包 2.解压安装包 3.分别解压httpd.apr.apr-util包 4.对apr.apr-util目录进行移动及重命名操 ...
最新文章
- 2018-4-8使用兔子的例子对比说明遗传算法,局部搜索,禁忌搜索,模拟退火方法
- Spring入门第五课
- JavaScript强化教程——javascript性能优化
- 字节流练习:图片复制
- 13.6 Thread类自定义线程类
- 为什么 MySQL的常用引擎都默认使用 B+ 树作为索引?
- Linux 光盘的挂载和解挂
- 使用 Carla 和 Python 的自动驾驶汽车第 2 部分 —— 控制汽车并获取传感器数据
- java分布式应用限流实现
- validation 参数校验和统一异常处理
- android删除wifi配置,[RK3288][Android6.0] WiFi之无线网络配置的忘记(移除)过程
- 计算机中那些事儿(七):近期拆计算机小感
- 有计算机科学与技术专业的大学,开设计算机科学与技术专业的大学有哪些,开设计算机科学与技术专业的大学有哪些...
- Object-C 语法 字符串 数组 字典 和常用函数 学习笔记
- 如果有因果报应和轮回,又是怎么管理的?
- MOODLE的安装与基本配置
- ios 测试证书配置
- 中年男人,你如何自我救赎
- 雷电模拟器通过命令行设置分辨率及其他命令
- 极力推荐的微信小程序,超级实用,一定要收藏