`
zengshaotao
  • 浏览: 756802 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

面试集锦三

 
阅读更多
17.
线程同步的方法:wait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():

使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉

InterruptedException异常。notify():唤醒一个处于等待状态的线程,注意的是在调用此方法

的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按

优先级。Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁

,而是让它们竞争。

18.
静态内部类是不依赖外部类的
一般的内部类就需要先实例化外部类。再在实例化内部类。

19.
exception是一种设计实现问题,是一定程度上主管判断失误造成,是可以及时发现及时改进的

,但是error是硬件上的问题,程序无法处理。

20.
构造器Constructor 不能被继承,因此不能重写Overriding,但可以被重载

21.
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有
不同的特征和用法,它们包
括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某
个类的实例数据时所指定的缺
省值。对象引用实例变量的缺省值为  null,而原始类型实例变量的缺省值与它们的类型有关

22.
Collection是容器顶层的接口,下面有set和list接口。Map是独立于集合的接口,下面有具体的

实现:HashMap。对象是否相对,是指对象之间是否是equal。

23.说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便
增加和插入元素,它们都允许
直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插
入数据慢,Vector 由于使用了 synchronized方法(线程安全),通常性能上较 ArrayList差,

而LinkedList使用双向链表实现
存储,按序号索引数据需要
进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics