volatile作用
在Java并发编程中,volatile 是经常用到的一个关键字,它可以用于保证不同的线程共享一个变量时每次都能获取最新的值。volatile具有锁的部分功能并且性能比锁更好,所以也被称为轻量级锁。
一个变量被volatile修饰,则:
- 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
- 禁止进行指令重排序。
Java语言是编译型语言,Java代码编译成字节码,然后由JVM解释成目标代码由CPU执行;这里包含我们常说的两个过程,即编译时和运行时;
Java语言把编译时可能产生的异常称为受检查异常
,把运行时可能产生的异常称为不受检查异常
(比如NullPointException和ClassNotFoundException)。