peter
2023-10-18
来自北京
请教老师几个问题: Q1:一个用户进程对应一个JVM实例吗? 比如,笔记本电脑上启动3个Java进程,这3个进程是共享一个JVM实例吗? 还是一个进程一个实例? Q2:什么样的变量会放到“主进程”? 文中谈到线程有自己的工作区,还有所有线程共享的主内存。那么,什么样的变量会放到主内存?(或者说,怎么定义一个变量使其放在主内存?) Q3:volatile影响的范围有多大? 比如函数有100行代码,变量定义由10行,变量A用volatile修饰,所有100行代码都受volatile影响吗?还是只有A定义这行代码受影响?或者A之前的代码受影响? Q4:编译器的写屏障与CPU的写屏障是什么关系?