栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA基础面试(续002)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA基础面试(续002)

文章目录
  • ArrayList 和 linkedList 的区别
  • ArrayList 和 Vector 的区别
  • 字符流和字节流的区别
  • 说明缓冲流的优点和原理
  • 方法的重载和方法的覆盖有什么不同?
  • Java集合框架的基础接口有哪些
  • java中有哪几种xml解析方式?
  • 如何自定义异常类?

ArrayList 和 linkedList 的区别
  • 数据结构实现:ArrayList 是动态数组的数据结构实现,而 linkedList 是双向链表的数据结构实现。
  • 随机访问效率:ArrayList 比 linkedList 在随机访问的时候效率要高,因为 linkedList 是线性的数据存储方式,所以需要移动指针从前往后依次查找。
  • 增加和删除效率:在非首尾的增加和删除操作,linkedList 要比 ArrayList 效率要高,因为ArrayList 增删操作要影响数组内的其他数据的下标。
  • 内存空间占用:linkedList 比 ArrayList 更占内存,因为 linkedList 的节点除了存储数据,还存储了两个引用,一个指向前一个元素,一个指向后一个元素。
  • 线程安全:ArrayList 和 linkedList 都是不同步的,也就是不保证线程安全;
ArrayList 和 Vector 的区别
  • Vector是线程安全的(方法实现加了一个synchronized的关键字),ArrayList不是线程安全的(有类似关系的还有:StringBuilder 和 StringBuffer、HashMap 和 Hashtable。)
  • ArrayList在底层数组不够用时在原来的基础上扩展0.5倍,Vector是扩展1倍。
  • 在源码的实现中,ArrayList的初始值是一个空串,也就是容量为0,等到使用add方法的时候才初始化容量为10。而Vector在一开始的时候初始容量就已经是10了。
字符流和字节流的区别

字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串。
字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。
stream结尾都是字节流,reader和writer结尾都是字符流。
两者的区别就是读写的时候一个是按字节读写,一个是按字符。

说明缓冲流的优点和原理

读取到一个字节/字符,先不输出,等凑足了缓冲的最大容量后一次性写出去,从而提高了工作效率。
优点:减少对硬盘的读取次数,降低对硬盘的损耗。

方法的重载和方法的覆盖有什么不同?

方法重载,指的是在类中创建多个具有相同名称,但使用不同参数的方法,
Java虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。
方法的覆盖指在子类中重新定义父类中已有的方法,对于重写的方法,运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。

Java集合框架的基础接口有哪些

Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。以下的3个接口都是Collection接口的实现类。

  1. Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合。
  2. List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。
  3. Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。
java中有哪几种xml解析方式?

SAX解析、DOM解析、JDOM解析、DOM4J解析

如何自定义异常类?
class  异常名称 extends Exception{}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号