zoukankan      html  css  js  c++  java
  • Java面试题之四

     十六、运行时异常与一般异常有何异同

    Java提供了两类主要的异常:runtime exceptionchecked exception

    1.checked exception:这种异常也就是我们经常遇到的IO异常,以及SQL异常等。对于这种异常,JAVA编译器强制要求我们必须进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。

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

     

    十七、ArrayListVector的区别,HashMapHashtable的区别?

    ArrayListVector

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

    2.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。

    HashMapHashtable

    1.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMapJava 1.2引进的Map接口的一个实现类。

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

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

     

    十八、LinkedListArrayList的区别?

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

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

    3.对于新增和删除操作,总体来说LinkedList要优于ArrayList。但并不是所有情况都优于ArrayList。比如,插入和删除单条数据和在末尾插入和删除数据ArrayList反而优于LinkedList

    所以综合来说,随机访问比较多就用ArrayList。频繁插入和删除比较多就用LinkedList

     

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

    Java中集合框架分为CollectionMap接口,Collection接口下的集合每个元素都由一个值组成,Map接口下的集合类每个元素都是由键值对组成。
    1.Collection接口下面有ListSet接口,List接口下常见的实现类有ArrayListLinkedListVector。它们中的元素可以重复,并且是有序的。Set接口下常见的实现类有HashSetTreeSet。它们中的元素不能重复,并且是无序的。

    2.Map接口下常见的实现类有:HashMapTreeMap。注意HashtableHashMap非常类似,但它是Dictionary的子类。

     

    二十、在异常当中 throwthrows 有什么区别和联系?

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

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

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

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

  • 相关阅读:
    高并发网络编程之epoll详解
    位操作实现加减乘除四则运算
    堆和栈的区别
    IT思想类智力题
    C/C++基础总结
    数据库总结
    面试网络总结
    Windows内存管理和linux内存管理
    面试操作系统总结
    数据结构与算法
  • 原文地址:https://www.cnblogs.com/pangblog/p/3327484.html
Copyright © 2011-2022 走看看