Java关键字 -- final程序员
被final修饰的类不能被继承,没有子类,final类中的方法默认是finaljvm
被final修饰的方法不能被子类覆盖工具
final成员变量为常量,只能被赋值一次,赋值后值不改变spa
final不能用于修饰构造方法
线程
Java关键字 -- static对象
方便在没有建立对象的状况下调用(方法/变量)继承
静态方法内部不能调用非静态方法,反而能够接口
Java使用锁的两个基本工具是synchronized和Lock资源
lock是基于语言层面实现的锁,synchronized是基于jvm实现的,是对象的内置锁。lock能够随意释放,支持定时锁,synchronized在获取对象锁以后,在退出方法或者抛出异常以后才可释放对象锁。lock是程序员手动释放锁,必须写在finally中,synchronized是程序自动释放锁。it
wait和sleep的区别
wait和sleep来自于不一样的类。wait来自Object类,sleep来自Thread类。最重要的是wait没有释放锁,sleep释放了锁。通常wait不会加时间限制,由于即便时间到了,锁释放,没有资源也没有用,要等待其余线程调用notify/notifyAll唤醒等待池中的全部线程,sleep(milliseconds)能够用时间指定使它自动唤醒过来,若是时间不到只能调用interrupt()强行打断。
List和Set的联系区别
list 和set是接口,都集成Collection
list特色:元素放入有顺序,并且能够有重复值
set特色:元素放入无顺序,不能够重复