1.String、StringBuffer、StringBuilder的区别
String是不可变字符串(因为内部是字符数组,数组被final修饰,所以不可变),每次改变都要重新创建对象,线程不安全,不同步。
StringBuffer 可变字符串,每次都是修改自己的内容,不创建对象,线程安全,同步,StringBuffer一致,线程不安全,不同步,效率高。
效率:StringBuilder>StringBuffer>String

2. 创建对象的五种方式
(1)new关键字创建对象
(2)通过字节码Class创建对象
(3)clone
(4)序列化创建对象
(5)反射创建对象
3.ArrayList、LinkedList、Vector的区别
ArrayList底层数据结构是数组,查询快,增删慢,线程不安全,不同步,效率高;
LinkedList底层数据结构是链表,查询慢,增删快,不同步,线程不安全,效率高;
Vector底层数据结构是数组,查询快,增删慢,同步,线程安全,效率低。
4.Hashmap和Hashtable的区别
HashMap:允许null值null键,不同步,线程不安全,效率高;
Hashtable:不允许null值null键,同步,线程安全,效率低。
5.final、finally、finalize的区别
JAVA基础常见面试题

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2021-05-27
  • 2021-11-23
  • 2021-08-21
  • 2022-02-08
猜你喜欢
  • 2022-02-07
  • 2021-08-30
  • 2021-06-09
  • 2021-11-16
  • 2021-09-12
  • 2021-05-02
  • 2021-09-05
相关资源
相似解决方案