1、static
静态的,属性和方法都可以用static修饰,直接使用类名.属性和方法名。只有内部类可以使用static关键字修饰,调用直接使用类名.内部类类名进行调用。 static可以独立存在
2、final
方法和类都可以用final来修饰 ;final修饰的类是不能被继承的 ;final修饰的方法是不能被子类重写。常量的定义:final修饰的属性就是常量。
3、synchronized
一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
4、transient
transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中(本地磁盘)。
参考文章:Java序列化—关键字transient
5、volatile
一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:
1)保证了不同线程对这个变量进行操作时的可见性:当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值。而普通的共享变量不能保证可见性,因为普通共享变量被修改之后,什么时候被写入主存是不确定的,当其他线程去读取时,此时内存中可能还是原来的旧值,因此无法保证可见性。
2)禁止进行指令重排序。
参考文章:Java并发—volatile关键字
6、super
常见public void paint(Graphics g){super.paint(g); ··· }
7、this
调用当前类中的方法(表示调用这个方法的对象)this.addActionListener(al):等等
8、native
本地
9、strictfp
严格,精准