Java底层基础-JVM内存结构

本文详细介绍了Java的JVM内存结构,包括逻辑内存模型、JDK1.8的内存结构,如程序计数器、虚拟机栈、本地方法栈、Java堆和元空间。强调了各内存区域的作用,如程序计数器在多线程中的作用,虚拟机栈的栈帧结构,以及方法区在1.8后被元空间替代的原因。
摘要由CSDN通过智能技术生成

一、JVM逻辑内存模型

​ JVM内存结构(Java内存结构) VS Java内存模型 VS Java对象模型
​ https://www.hollischuang.com/archives/2509
​ JVM内存结构:与Java虚拟机的运行时区域有关
​ Java内存模型:与java的并发编程有关
​ 并发编程: 原子性指在一个操作中CPU不可以在中途暂停然后在调度,一个操作要么成功要么失败
​ 可见性指当多个线程访问同一个变量时,一个现象修改了变量的值,其他线程能够立即看到修改的值
​ 有序性即程序执行的顺序按照代码的先后顺序
​ Java对象模型:和Java对象在虚拟机中的表现形式有关

二、 JVM内存结构(jdk1.8)

在这里插入图片描述

2.1 程序计数器(线程私有)

概念: 程序计数器是一个记录着当前线程所执行的字节码的行号指示器

为什么要用: 需要清楚JVM的多线程实现方式,JVM的多线程是通过CPU时间片轮转(即线程轮流切换并分配处理器的执行实践)算法来实现。
也就是说某个线程可能在执行过程中由于时间片耗尽而被挂起,另一个线程获取时间片开始执行。
这个时候就需要程序计数器来记录执行的位置,才能在被挂起后分配到时间片后继续执行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值