欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

牛客模拟面试

程序员文章站 2022-05-27 15:25:39
...

请介绍一下List和ArrayList的区别,arrayList和HashSet区别

list是接口,ArrayList实现了List接口,
ArrayList底层是动态数组,可以存储重复的值,有序。
HashSet底层是hash表,因为要比较hash值和equals,所以是不可重复和无序的。

请你介绍一下Syncronized锁,如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么?

修饰的是静态方法以及同步代码块时,锁住的是类,线程想要执行对应同步代码(加了关键字的),需要获取类锁
修饰的是成员方法,线程获取的是当前调用该方法的对象实例的对象锁。

请你谈谈大O符号(big-O notation)并给出不同数据结构的例子

当数据结构里面的元素添加时,算法的规模或者是性能在最坏的情况下有多好。
也可以是内存消耗,用O符号基于时间、性能、内存消耗来选择最好的实现。

请问运行时异常与受检异常有什么区别?

运行时异常表示在程序运行时出现的异常,因为在编译阶段不会发生,所以不用处理。
受检异常表示在程序编译阶段就要求必须处理的,通过t r y-catch-finally可以捕获并且处理异常或者用过throw将其抛给上层模块进行处理。