Java 常见小总结

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特色:元素放入无顺序,不能够重复

相关文章
相关标签/搜索