java的内存模型描述了java程序的可能行为。
通过检查执行跟踪中的每个读操作,并根据某些规则检查该读操作观察到的写操作是否有效来工作。
程序的所有执行的结果都可以通过内存模型来预测。具体的实现者任意实现,包括操作的重新排序和删除不必要的同步。
内存模型决定了程序在每个点上可以读取到什么样的值。
更多内容可直接参考java的官方文档
https://docs.oracle.com/javase/specs/jls/se8/html/jls-17.html#jls-17.4
Memory Model 内存模型一节
仅做备忘记录,不做详细说明,详细内容直接参考官方文档,任何博客的讲解都不如官方文档来的实在,英文的,需要自己结合翻译进行理解。