Object.clone()方法用于对象的拷贝,它会把在堆上的对象所占用的内存空间拷贝一份然后返回,这样就形成一个新的对象。因为每个对象所占的空间内都有一个指向其类数据的指针,也就是指向方法区中类数据(这个类数据可以通过Class对象进行访问,可以简单、直接的理解为就是指向代表其类的Class对象)。JVM会通过这个指针来判断一个对象的类型,由于把整个对象空间拷贝,所以拷贝的对象的类指针也指向相。
本来是想自己总结一下JSR 133提出的新Java内存模型,后来发现了Jeremy Manson 和 Brian Goetz在2004年写的《JSR-133 (Java Memeory Model) FAQ》一文,全文以FAQ的形式,回答了为什么需要用JSR-133来实现Java新的内存模型,以及新的内存模型在内存可见性,语义重排序等几方面的改进。跟其他编程语言相比,Java从语言层面定义了自己。