在Java内存模型中,所有的共享资源放在主内存中,每个线程都有自己的私有内存,当线程需要使用共享资源时则复制一个副本到私有内存,在线程操作期间动的都是私有内存的变量。在实际的多核CPU中,每个核心都有自己的一级缓存,而且还有一个多核心共用的二级缓存。