java面试题

1、重写和重载?

  重载涉及同一个类的同名方法,要求方法名相同,参数列表不同,与返回值类型无关

  重写是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同!


2、string stringbuffer stringbuilder区别

  在单机非多线程(Multithread)的情况下使用StringBuilder会有较好的效率,因为StringBuilder没有处理同步(Synchronized)问题

  StringBuffer则会处理同步问题,如果StringBuilder会在多线程下被操作,则要改用StringBuffer,让对象自行管理同步问题。


3、集合类?

  Java的集合类主要有Map接口和Collection接口派生


  Collection是集合类的一个顶级接口,其直接继承接口有List与Set

  list集合继承Collection接口,是有序接口!List中允许重复的元素,也就是说List是一组不唯一,有序的对象!

  list接口的实现类有arrayList和LinkedList.

  arraylist内存分配连续的空间 善于查找比较快!

  LinkedList采用链表,删除和插入效率比较高!

  ArrayList 是一个可改变大小的数组.当更多的元素加入到ArrayList中时,其大小将会动态地增长.内部的元素可以直接通过get与set方法进行访问,因为ArrayList本质上就是一个数组.

  LinkedList 是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.

  Set

  set接口可以存储一组唯一。无序的对象

  set的实现类有hashSet

  hashSet的优点是集合的元素是无序的排列、允许集合的元素为null,查找效率高!


  Map

      是一组键值对(key、value)

  key不要求有序,不允许重复

  value不要求有序,但允许重复的!

  优点在与查询指定的元素比较高!


  1、Hashmap 和hashtabie的区别

  1)继承与实现的不同

  HashTable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)

  2)线程安全不同

  HashTable的方法是同步的,HashMap的方法是未同步的。

  3)对null的处理不同

  HashTable不允许null值的存在,HashMap允许null值的存在


  2、final, finally, finalize的区别。

  final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

  finally是异常处理语句结构的一部分,表示总是执行。

  finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。


  3、char型变量中能不能存贮一个中文汉字?为什么?.

  可以啊。JAVA默认的编码是unicode

  4、静态变量和实例变量的区别?

  静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值