美文网首页
JVM内存与线程

JVM内存与线程

作者: CanZh | 来源:发表于2019-05-10 15:22 被阅读0次

Java内存模型

缓存一致性

    计算机的存储设备与处理器之间的运算速度存在几个数量级的差距,所以,在处理和内存之间加上一层读写速度级尽可能接近处理器运算速度的高速缓存(Cache)作为缓存:将运算需要使用到的数据复制到缓存中,让运算能快速运行,当运算结束后再从缓存同步回内存之中,这样处理器就无须等待缓慢的内存读写了。

以上过程导致了缓存一致性问题:

在多处理器系统中,每个处理器都有自己的高速缓存,而他们有共享同一块主存(Main Memory),当多个处理器的运算结果都涉及同一块主存区域时,将可能导致各自缓存的数据不一致的情况。如果发生这种情况,那同步回主存的数据该以谁的缓存数据为准呢?所以,各个处理器在访问缓存时都需要遵循一些协议:MSI、MESI、MOSI、Synape、Firefly、Dragron protocol等

Java虚拟机内存模型中定义的内存访问操作与硬件的缓存访问操作是具备可比性的。

指令重重排序

 为乐是处理器内部的运算单元尽量被充分利用,处理器会对输入代码进行乱序执行优化,处理器会在计算完成之后将乱序执行的结果重组,保证结果与顺序执行的结果一致,但并不能保证程序中各条输入语句计算的先后顺序与输入代码中顺序一致。Java虚拟机中的即时编译器中也存在类似的指令重排序优化。

JAVA内存模型

相关文章

  • 高效并发

    从JVM的角度看一下Java与线程,内存模型,线程安全以及JVM对于锁的优化 硬件内存模型与JVM内存模型 硬件的...

  • 每日一结——JVM内存模型

    JVM内存模型 JVM内存模型分为1.7与1.8版本(其中黄色代表线程共享,白色代表线程私有) 程序计数器 线程在...

  • JVM GC机制总结

    0. JVM内存组成 JVM内存主要由两部分组成:a.线程私有内存区域;b.线程公共内存区域。 线程公用的内存区域...

  • java核心知识点,pdf文档,让你彻底告别重复的CRUD

    JVM 线程 JVM内存区域 JVM运行时内存 垃圾回收与算法 Java四种引用类型 GC 分代收集算法 VS 分...

  • JVM

    JVM组成 jvm由类加载器+内存+执行引擎 JVM内存区域 堆 线程共享 存储对象 虚拟机栈 线程私有,生命周期...

  • 杂谈

    锁 voliate,JVM主内存,JVM工作内存 线程 OS主内存 cpu cache(高速缓存) 处理...

  • JVM内存与线程

    Java内存模型 缓存一致性 计算机的存储设备与处理器之间的运算速度存在几个数量级的差距,所以,在处理器和内存...

  • 关于JVM内存模型的理解。

    JVM内存划分 JVM内存划分为线程共享区和线程独占区两部分,线程共享区包括方法区(Method Area)和堆(...

  • JVM内存结构、运行时内存以及类加载过程

    以下内容都是基于jdk1.8 1、JVM 内存管理 2、JVM内存区域 JVM内存区域主要分为线程私有Thread...

  • 2019年Java核心技术我整理了200多页pdf,今天分享给你

    JVM相关 1.线程 2.JVM内存区域 3.JVM运行时内存 4.垃圾回收与算法 5.Java的4中引用类型 6...

网友评论

      本文标题:JVM内存与线程

      本文链接:https://www.haomeiwen.com/subject/xrrooqtx.html