美文网首页Java 开发
Java 面试基础知识(四)

Java 面试基础知识(四)

作者: 小生不cai | 来源:发表于2018-07-21 23:11 被阅读8次

    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.线程的状态转化。

    相关文章

      网友评论

        本文标题:Java 面试基础知识(四)

        本文链接:https://www.haomeiwen.com/subject/ecukmftx.html