请介绍一下List和ArrayList的区别,arrayList和HashSet区别
list是接口,ArrayList实现了List接口,
ArrayList底层是动态数组,可以存储重复的值,有序。
HashSet底层是hash表,因为要比较hash值和equals,所以是不可重复和无序的。
请你介绍一下Syncronized锁,如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么?
修饰的是静态方法以及同步代码块时,锁住的是类,线程想要执行对应同步代码(加了关键字的),需要获取类锁
修饰的是成员方法,线程获取的是当前调用该方法的对象实例的对象锁。
请你谈谈大O符号(big-O notation)并给出不同数据结构的例子
当数据结构里面的元素添加时,算法的规模或者是性能在最坏的情况下有多好。
也可以是内存消耗,用O符号基于时间、性能、内存消耗来选择最好的实现。
请问运行时异常与受检异常有什么区别?
运行时异常表示在程序运行时出现的异常,因为在编译阶段不会发生,所以不用处理。
受检异常表示在程序编译阶段就要求必须处理的,通过t r y-catch-finally可以捕获并且处理异常或者用过throw将其抛给上层模块进行处理。