java内存模型理解

java内存模型理解

JVM 内存结构:堆、栈、方法区等等。。

原子性:对基本数据类型的变量和赋值操作才是原子性的。可以通过锁、synchronized来确保 原子性

可见性:指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看到修改的值。

有序性:程序执行的顺序按照代码的先后顺序执行。

java的内存模型是关于多线程的。共享内存模型指的就是java内存模型简称JMM,JMM决定一个线程对共享变量的写入时,能对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每一个线程都有一个私有的本定内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。

什么是java内存模型:java内存模型简称JMM,定义了一个线程对另一个线程可见,共享变量存放在主内存中,每个线程都有自己的本地内存,当多个线程同时访问同一个数据的时候,可能本地内存没有及时刷新到主内存,所以就会发生线程安全问题。

你可能感兴趣的:(java内存模型理解)