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


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,146评论 0 62
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,450评论 1 14
  • “记得当年年纪小,你爱谈天我爱笑。有一回并肩坐在桃树下,风在树梢鸟在叫,不知怎么睡着了,梦里花落知多少。”...
    annabenz阅读 197评论 0 0
  • 一 基础Crash分析 (1)当APP发生闪退,手机内部会生成一个.Crash 或者.ips 文件,里面会包含崩...
    ZhaoXianSheng阅读 2,736评论 0 1