Java 面试基础知识(四)

1.arraylist与vector的区别

1)两者都实现了list接口,都是通过数组实现的;vector是线程安全的,而arraylist非线程安全。

2)当list增加元素时,如果它认为不够的时候会进行扩容,vector也会,默认情况下是增加原来的一倍的数组长度,arraylist则增加原来的50%。

2.arraylist和linklist的区别以及使用

1)arraylist是数组实现的,可以认为是一个大小可变的动态数组。linklist是通过双向链表实现的。

2)linklist与arraylist相比增删速度较快,查找和修改值较慢。

3)linklist适合中间插入或者删除较多的时候使用,arraylist时候查询较多的时候使用。

2.error与exception的区别

error与exception都是继承与throwable类;error一般指与虚拟机有关的问题,比如系统崩溃、虚拟机错误、内存不足和方法调用栈溢出等,这种情况是程序无法处理的。exception表示程序可以处理的异常,可以获取并且可能恢复的。遇到这种情况应当处理异常,让程序恢复运行。

3.多线程实现的方法

1)继承thread类。

2)实现runable接口。

3)使用executorService、callable、future实现有返回结果的多线程。

4.线程的状态转化。


7798479-91adfdc758e66394.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值