synchronized、volatile、serialize、static关键字
synchronized关键字:同步代码块关键字,对对象加互斥锁。
volatile关键字:用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。然而,在访问volatile变量时不会执行加锁操作,因此也不会执行线程阻塞,因此volatile变量是一种比synchronized关键字更轻量级的同步机制。
serialize关键字:Java 对象序列化为二进制文件。
static关键字: static关键字可以修饰变量,方法,静态代码块。
静态变量:由static修饰的变量称为静态变量;静态变量属于类,而不属于某个对象;静态变量它的副本只有一个(静态变量在类中只加载一)。
静态方法:在静态方法中只能调用静态变量和静态方法;在非静态方法中,可以调用静态方法或者变量。在静态方法中不能使用this和super关键字。
静态代码块:用来给静态成员变量初始化。