在Java中,一共有51个关键字以及2个保留关键字。
对transient,volatile,synchronized等关键字总结。
-
transient
Java中使用serialization对对象进行序列化操作,而transient关键字修饰的对象数据成员则不被序列化,防止序列化。 -
volatile
用于线程同步的关键字,只能修饰变量,被修饰的成员变量每次被访问时,都会从共享内存中进行重读,且该成员变量的值每次发生改变时都会回写到共享内存中。
volatile关键字的特点:原子性,可见性,有序性。
volatile不会让线程阻塞,响应速度比synchronized高,这是它的优点。 -
synchronize
-
修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁。
-
修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁。
-
修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象。