随笔分类 - JVM
摘要:Java 内存模型试图屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。 1、主内存与工作内存 处理器上的寄存器的读写的速度比内存快几个数量级,为了解决这种速度矛盾,在它们之间加入了高速缓存。 加入高速缓存带来了一个新的问题:缓存一致性。如果多个缓
阅读全文
摘要:Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前,主流程序语言(如C/C++等)直接使用物理硬件和操作系统的内存模型,因此,会由于不同平台上内存模型的差异,有可能导致程序在一套平台上并发完全
阅读全文
摘要:1. 原子性(Atomicity): 一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 我们先来看看哪些是原子操作,哪些不是原子操作,先有一个直观的印象: 上面这4个代码中只有代码1是原子操作。 代码2:包含了三个操作。1.读取变量k的值;2.将变量k的值加1;3
阅读全文
摘要:Java中new一个对象的步骤: 1. 当虚拟机遇到一条new指令时候,首先去检查这个指令的参数是否能 在常量池中能否定位到一个类的符号引用 (即类的带路径全名),并且检查这个符号引用代表的类是否已被加载、解析和初始化过,即验证是否是第一次使用该类。如果没有(不是第一次使用),那必须先执行相应的类加
阅读全文