首页 > 系统相关 >JVM内存模型

JVM内存模型

时间:2023-11-30 23:33:47浏览次数:40  
标签:变量 模型 工作 于主 线程 内存 JVM 操作

JVM内存模型

堆:
新生代
老年代
常量池
字符串常量池
运行时常量池

虚拟机栈:
栈帧

方法区:
元空间

本地方法栈:

程序计数器:

java内存结构(JMM内存模型)

主内存:

工作内存:
java线程
高速缓存

操作变量时的规则:
Java内存模型规定了所有的变量都存储在主内存
线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝
线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读写主内存中的变量

从工作内存同步回主内存实现是通过以下的8种操作来完成:
lock(锁定):作用于主内存的变量,把一个变量标识为一条线程独占状态。
unlock(解锁):作用于主内存变量,把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程锁定。
read(读取):作用于主内存变量,把一个变量值从主内存传输到线程的工作内存中,以便随后的load动作使用
load(载入):作用于工作内存的变量,它把read操作从主内存中得到的变量值放入工作内存的变量副本中。
use(使用):作用于工作内存的变量,把工作内存中的一个变量值传递给执行引擎,每当虚拟机遇到一个需要使用变量的值的字节码指令时
将会执行这个操作。
assign(赋值):作用于工作内存的变量,它把一个从执行引擎接收到的值赋值给工作内存的变量,每当虚拟机遇到一个给变量赋值的字节码
指令时执行这个操作。
store(存储):作用于工作内存的变量,把工作内存中的一个变量的值传送到主内存中,以便随后的write的操作。
write(写入):作用于主内存的变量,它把store操作从工作内存中一个变量的值传送到主内存的变量中。

Java内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性这3个特征来建立的
1.保证原子性的操作:
read、load、assign、use、store和write
synchronized锁

2.保证有序性(重排序导致无序)的操作:
volatile
synchronized锁

3.保证可见性:
volatile
synchronized锁
final

标签:变量,模型,工作,于主,线程,内存,JVM,操作
From: https://www.cnblogs.com/nxjblog/p/17868682.html

相关文章

  • 汇编-Lea将内存地址加载到寄存器
     它的功能主要是将一个有效地址加载到寄存器中,让程序通过寄存器来访问相应的内存地址 lea指令的应用场景在汇编语言中,lea指令应用广泛,它通常用来完成以下几个任务:1.计算地址偏移量:当程序需要访问数组、结构体等数据结构中的某个元素时,我们可以使用lea指令来计算该元素相对......
  • 北京大学 | Video-LLaVA视觉语言大模型:统一输入,同时处理图片和视频数据
    前言 北京大学和其他机构的研究人员近期提出了一种名为Video-LLaVA的视觉语言大模型。该模型的创新之处在于能够同时处理图片和视频作为输入。在处理图片的任务中,该模型展现出了出色的性能,在多个评估榜单中名列前茅,尤其在视频方面取得了令人瞩目的成绩。这项研究的关键点在于关注......
  • 2023人工智能计算大会AICC在京召开 产业热论大模型与智算力
    11月29日,以“智算力就是创新力”为主题的2023人工智能计算大会(AICC)在北京召开。本届大会由北京市科委中关村管委会、北京市经济和信息化局、海淀区政府支持,浪潮信息主办。大会重点围绕智算基础设施、大模型创新、AIInfra 技术创新、自动驾驶创新与应用、AIforScience、智算开放......
  • 直播预告丨大模型如何在健康医疗中挖出大大的花?
    大模型时代,“应用变了”:大模型如何在健康医疗中挖出大大的花?12月1日(周五)14:00-15:00 开播!大模型时代,给千行百业带来了新的想象空间试想一下,大模型经过专业知识训练竟然能够成为你的健康医疗助手曾经科幻片中的场景,正一步步成为现实这一期,我们将探讨大模型是如何在健康医疗领域发挥......
  • 查看JVM默认参数
    java-XX:+PrintFlagsFinal-version[Globalflags]uintxAdaptiveSizeDecrementScaleFactor=4{product}uintxAdaptiveSizeMajorGCDecayTimeScale=10{product}u......
  • 如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件
    ​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下,“Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理,有效提高静态分析门槛”。 通过动态分析了它的保护......
  • 如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件
    ​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下,“Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理,有效提高静态分析门槛”。 通过动态分析了它的保护......
  • 马尔可夫Markov区制转移模型分析基金利率|附代码数据
    全文下载链接:http://tecdat.cn/?p=19611最近我们被客户要求撰写关于马尔可夫Markov区制转移模型的研究报告,包括一些图形和统计输出。过程会随着时间的推移而发展,结果会发生变化考虑一下经济衰退和扩张。在衰退开始时,产出和就业率下降并保持较低水平,然后,产出和就业率增加。从统......
  • R语言贝叶斯模型预测电影评分数据可视化分析
    全文链接:https://tecdat.cn/?p=34421原文出处:拓端数据部落公众号本文使用R语言帮助客户进行了贝叶斯模型预测电影评分,并对数据进行了可视化和分析。文章创建了五个新的特征变量,包括电影类型、导演获奖情况、电影票房、评论数量和影评人数量等,并分析了这些变量对电影评分的影响。......
  • 【AI行业】华为云推出首个大模型混合云
    华为云微信公众号发文,华为云行业高峰论坛2023在北京开幕。 会上,华为云推出业界首个大模型混合云,并发布《深度用云展望2025》白皮书及深度用云行动计划。同时,华为云提出深度用云行动倡议,并联合10+伙伴和行业组织,共同发起深度用云行动计划,计划未来三年投入1亿人民币,用于能力型伙......