Java面试题之四 (转)

十6、运行时异常与通常异常有何异同 数组

Java提供了两类主要的异常:runtime exception和checked exception。 安全

1.checked exception:这种异常也就是咱们常常遇到的IO异常,以及SQL异常等。对于这种异常,JAVA编译器强制要求咱们必须进行catch。因此,面对这种异常无论咱们是否愿意,只能本身去写一大堆catch块去处理可能的异常。 框架

2. runtime exception:也称运行时异常,是最多见的异常之一,不是必须处理的异常,好比:咱们历来没有人去处理过NullPointerException异常。当出现这样的异常时,老是由虚拟机接管,系统会把异常一直往上层抛,直到遇处处理代码。若是没有处理代码,要么是线程停止,要么是主程序终止。 spa

十7、ArrayList和Vector的区别,HashMap和Hashtable的区别? 线程

ArrayList和Vector: 指针

1.同步性:Vector 线程安全,同步;ArrayList线程不安全,不一样步。 对象

2.数据增加:当须要增加时,Vector默认增加为原来一培,而ArrayList倒是原来的一半。 接口

HashMap和Hashtable: 开发

1.历史缘由:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现类。 编译器

2.同步性:Hashtable线程安全,同步;HashMap线程不安全,不一样步。

3.值:HashMap容许空键控值。Hashtable不容许。

十8、LinkedList和ArrayList的区别?

1. LinkedList是基于链表实现;ArrayList是基于动态数组实现。

2.对于随机访问,ArrayList优于LinkedList。由于LinkedList要移动指针。

3.对于新增和删除操做,整体来讲LinkedList要优于ArrayList。但并非全部状况都优于ArrayList。好比,插入和删除单条数据和在末尾插入和删除数据ArrayList反而优于LinkedList。

因此综合来讲,随机访问比较多就用ArrayList。频繁插入和删除比较多就用LinkedList。

十9、介绍JAVA开发中经常使用的Collection Frame Work(集合框架)?

Java中集合框架分为Collection和Map接口,Collection接口下的集合每一个元素都由一个值组成,Map接口下的集合类每一个元素都是由键值对组成。
1.Collection接口下面有List和Set接口,List接口下常见的实现类有ArrayList、LinkedList、Vector。它们中的元素能够重复,而且是有序的。Set接口下常见的实现类有HashSet、TreeSet。它们中的元素不能重复,而且是无序的。

2.Map接口下常见的实现类有:HashMap和TreeMap。注意Hashtable和HashMap很是相似,但它是Dictionary的子类。

二10、在异常当中 throw和throws 有什么区别和联系?

1. throws 是方法修饰符,表示该方法有可能抛出某个异常,这时调用方就必须处理该异常。谁调用谁捕获。throw是关键字,表示显示抛出异常对象。

2. throws可单独使用。throw要么和try-catch-finally语句配套使用,要么与throws配套使用。

3. throws用在方法声明后,throw用在方法体内。

4. throws抛出的是类;throw抛出的是对象。

相关文章
相关标签/搜索