1.volatile关键字有什么作用?
屏蔽缓存区
volitale可以解决可见性,和有序性问题,但是不能解决原子性问题
对volatile修饰的变量,执行写操作的话,JVM会发送一条lock前缀指令给CPU,CPU在计算完之后会立即将这个值写回主内存,同时因为有MESI缓存一致性协议,所以各个CPU都会对总线进行嗅探,自己本地缓存中的数据是否被别人修改,如果发现别人修改了某个缓存的数据,那么CPU就会将自己本地缓存的数据过期掉,然后这个CPU上执行的线程在读取那个变量的时候,就会从主内存重新加载最新的数据了。但是线程在计算的数据是不会改变的
2.编写Java程序模拟烧水泡茶最优工序。