寄存器对JVM指令来说是不可见的

JVM的指令集不会直接使用寄存器作为操作数,也就是说JVM指令看不到寄存器。

java中的volatile也跟寄存器无关,每个线程保留的变量副本不是在寄存器里,而是在JMM定义的“工作内存”里。这个内存并非寄存器。

当然JVM在运行时可以把某些内存映射到寄存器,寄存器的存取速度比内存要快得多,所以这样可以提高一点性能。 但不管怎么样,这只是运行时的优化,就JVM指令模型本身而言,它是看不到寄存器的。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.