一、基础关键字

二、线程相关关键字

  • transient关键字 :修饰变量的。简单地说,就是让某些被修饰的成员属性变量不被序列化。
  • volatile关键字1.保证了不同线程对该变量操作的内存可见性.(当一个线程修改了变量,其他使用次变量的线程可以立即知道这一修改)。2.禁止了指令重排序.。valitale关键字也不能保证线程的安全性,因为它不具备原子性
  • synchrozied关键字称作同步,主要用来给方法、代码块加锁,被加锁的代码段,同一时间内多线程同时访问同一对象的加锁方法/代码块时,只能有一个线程执行能执行方法/代码块中的代码,其余线程必须等待当前线程执行完以后才执行该方法/代码块。
  • Lock接口提供了与synchronized关键字类似的同步功能,但需要在使用时手动获取锁和释放锁。

区别相关:

  1. volatile能保证数据的可见性,但不能完全保证数据的原子性,synchronized即保证了数据的可见性也保证了原子性

三、罕见关键字

  • native关键字表名修饰的方法是由其它非Java语言编写的