lJava面试题精编.docVIP

  • 2
  • 0
  • 约1.63万字
  • 约 14页
  • 2017-01-12 发布于北京
  • 举报
lJava面试题精编

JAVA面试题精编 1. String 和StringBuilder、StringBuffer的区别 String对象是不可变的(immutable),类中每一个修改String值的方法,都是创建了一个全新的String对象。StringBuilder、StringBuffer支持可变的字符串字符串串联是通过 StringBuilder(或 StringBuffer)类及其append方法实现的StringBuilder(或StringBuffer)。 2. Collection 和 Collections的区别。 Collection是集合结构的根接口,继承它的接口主要有Set和List。 Collections是集合类的一个帮助类,提供了一系列的静态方法,实现对各种集合的搜索、排序、同步等操作。 3. Error、Exception、RuntimeException有何异同?列举常见的RuntimeException、Error。 Error、Exception继承自所有异常的超类Throwable,RuntimeException是Exception的一个特殊子类。Error和RuntimeException是未受检异常,在程序中不需要也不应该被捕获。按照惯例,Error被JVM保留用于表示资源不足、约束失败,或其他严重错误;RuntimeException表明编程错误。Exception表示程序运行过程中可能出现的非正常状态,是受检异常。对可恢复的情况应使用受检异常,对编程错误使用RuntimeException。 常见RuntimeException:NullPointerException、IllegalArgumentException 、IllegalStateException 、IndexOutOfBoundsException、UnsupportedOperationException、 NoSuchElementException、ClassCastException、BufferOverflowException。 常见Error:NoClassDefFoundError、UnsatisfiedLinkError、OutOfMemoryError、StackOverflowError、UnknownError。 4. final, finally, finalize的区别。 final用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行时会调用被回收对象的此方法。 5. Overload和Override的区别。Overload的方法是否可以改变返回值的类型? 如果子类中定义的方法与父类有相同的名称、参数和返回类型(自Java 5开始支持协变返回类型),称覆盖(Override)了父类方法,子类的对象使用这个方法时,将调用子类中的定义。 如果在一个类中定义了多个同名的方法,它们有不同的参数个数或参数类型,则称为方法的重载(Overload)。 Overload的方法可以改变返回值的类型,但不能以返回值区分重载方法。 6. (,|)与 (,||)的区别。,|)是位操作符,(,||)是逻辑操作符。 逻辑操作只能布尔,而操作可以布尔型型操作不会产生短路CopyOnWriteArrayList的存储性能和特性。 三者均按照插入顺序保存元素。ArrayList使用数组方式存储数据,随机访问速度快,插入和移除元素较慢。LinkedList使用双向链表实现存储,插入和移除元素快,随机访问较慢,另外LinkedList可用作堆栈、队列或双端队列。CopyOnWriteArrayList是ArrayLis线程安全的变体,其中所有可变操作都是通过对数组进行复制来实现的,只对修改操作加锁,因此修改和读取操作可同时发生。 Vector也是线程安全的List,是Java早期版本的实现,在新程序中不应该使用。Collections类提供了同步的静态方法,可以用来同步不同类型的容器,对修改和读取操作都会进行同步。在没有修改操作或有少量的修改操作时,CopyOnWriteArrayList的速度更快,因此应该尽量使用CopyOnWriteArrayList。 9. HashSet、LinkedHashSet、TreeSet、CopyOnWriteArraySet的区别。 HashSet基于HashMap实现,查找速度最快,元素必须定义hashCode()和equals()方法。 LinkedHashSet继承自HashSet,基于LinkedHashMap实现,按照插入顺序保存对象,具有Hash

文档评论(0)

1亿VIP精品文档

相关文档