Overload(重载)与Override(重写)的区别java
重载:发生在一个类中,方法名称相同,参数列表不一样,方法体不一样(看对象类型)安全
重写:发生在父类中,方法名称相同,参数列表相同,方法体不一样(看引用类型)多线程
abstract class(抽象类)和interface(接口)的区别ide
1.抽象类有构造方法,接口没有线程
2.抽象类中能够有普通成员变量,接口没有对象
3.抽象类中能够包含非抽象的普通方法,接口中全部的方法都是抽象的继承
4.抽象类中能够包含静态方法,接口中不能包含接口
5.抽象类中的抽象方法的访问类型能够是public,protected,接口中的只能是public字符串
6.一个类能够实现多个接口只能继承一个抽象类同步
String和StringBuff的区别
String提供了数值不可改变的字符串,StringBuff提供字符进行修改,String实现了equals方法,StringBuff没有
final、finally、finalize的区别
final:属于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承
finally:是异常处理语句结构的一个方法,表示老是执行
finalize:是Object类的一个方法,在GC(垃圾回收器)执行的时候会调用被回收对象的此方法
sleep()和wait()有什么区别
sleep就是正在执行的线程主动让出CPU,CPU去执行其余线程,若是当前线程进入了同步锁,sleep方法并不会释放锁
wait就是指一个已经进入同步锁的线程内,让本身暂时让出同步锁,以便其余正在等待此锁线程能够获得同步锁并运行
多线程有几种实现方法?同步有几种实现方法?
多线程有两种实现,分别是继承Thread类与实现Runnable接口(还有一个链接池,不太肯定)
同步的实现方法有:synchronized、wait、notify
wait():是一个线程处于等待状态,而且释放所持有的对象的lock
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法
notify():唤醒一个等待状态的线程
ArrayList和Vector的区别
1.同步性
Vector是同步的,是线程安全的,ArrayList是不一样步的,是线程不安全的
2.数据增加
两个都有一个初始的容量大小,当超狗容量时,就会增长存储空间
ArrayList增加为原来的1.5倍,Vector增加为原来的2倍
HashMap与Hashtable的区别
1.Hashtable是老旧的,HashMap是java 1.2引进的Map接口的一个实现
2.Hashtable是线程安全的,同步的 HashMap是线程不安全的,不是同步的
3.只有HashMap能够让你将空值做为一个表格的条目的key或value
List和Map区别
List存储单列数据的集合,Map是存储键和值这样双列数据的聚合
List存储的数据是由顺序的,而且容许重复,Map是没有顺序的,键是不能重复的,值能够重复
第一次发,但愿能收获点好评i