Java随笔

Java简单知识点
1.“==”和“equal”的区别
==比较引用的地址
equal比较引用的内容(Object类本身除外)
2. final finally finalize
final:用于声明属性、方法、类
final修饰方法:方法不能被覆盖(重写)
final修饰类:该类不能被继承
final修饰属性:属性值不能修改

finally:try…catch…finally语句
try{
有可能发生异常的代码}
catch(ExceptionName ex){
当ExceptionName所代表的异常发生后,会执行的代码}
finally{
无论是否抛出异常都一定会执行的代码块}
如果在finally代码块执行之前,遇到return,那么保留return要返回的值,去执行finally代码块,当finally代码块执行完之后,方法才真正返回。若在finally中也遇到return,那么使用finally中的return值,调换原来的return值。

finalize:finalize 是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等. JVM不保证此方法总被调用.

3.ArrayList 和 LinkedList
两者都是list接口的实现类
ArrayList 是动态数组(顺序表)的数据结构
顺序表的存储地址是连续的,所以查找快,但是在进行插入删除操作时,要移动其中的元素,所以比较慢。

LinkedList 是链表的数据结构
链表的存储地址不是连续的,每个存储地址通过指针指向,在查找时需要通过指针遍历元素,所以查找慢,但是由于链表插入时不需要移动其他元素,所以插入和删除快。

4.sleep()与wait()
sleep():使线程停止一段时间的方法
在sleep()时间间隔期满之后,线程不一定立即恢复执行。因为在那个时刻,其他线程可能正在运行而且没有被调度为放弃执行,除非(a)醒来的线程有更高的优先级,(b)正在运行的线程因为其他原因而堵塞。

wait(): 是线程交互时,如果线程对一个同步对象发出一个wait()调用,那么该线程会暂停执行,被调对象进入等待状态,直到被唤醒或者等待时间到。

5.重载 、重写
重载:在同一个类之间,有多个同名的方法;与返回类型无关;方法的参数列表不同(参数个数、参数类型、参数顺序);和异常无关。

重写:发生在子父类之间;子类具有和父类完全相同的方法名,返回类型,参数列表完全相同;返回权限不能被缩小;异常不能被扩大。

你可能感兴趣的:(学习,Java小抄)