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

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

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

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

十七、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不允许。

十八、LinkedList和ArrayList的区别?

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

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

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

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

十九、介绍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的子类。

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

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

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

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

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

Java面试题之四的更多相关文章

  1. java面试题及答案(转载)

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  2. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  3. Java面试题(全)

    JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...

  4. Java面试题大全(四)

    JAVA代码查错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...

  5. 大公司的Java面试题集

    找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...

  6. 收集了50道基础的java面试题

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  7. Java学习-030-JSON 之四 -- 判断 JSONObject 是否包含键值对

    前文对获取 JSON 数据封装方法,使之可通过类似于 cssSelector 的方法获取 JSON 数据,使获取数据变得简单.敬请参阅:模仿 cssSelector 封装读取 JSON 数据方法. 在 ...

  8. Java笔试题解答和部分面试题

    面试类  银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...

  9. 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101

    Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...

随机推荐

  1. Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包

    上篇介绍了怎么使用ant自动编译打包现有的android项目,这篇将继续介绍如果如何在ant打包应用的时候加入签名信息以及自动打包渠道包. 1. 加入签名信息: 在项目的根目录下建一个ant.prop ...

  2. 又优化了一下 Android ListView 异步加载图片

    写这篇文章并不是教大家怎么样用listview异步加载图片,因为这样的文章在网上已经有很多了,比如这位仁兄写的就很好: http://www.iteye.com/topic/685986 我也是因为看 ...

  3. OpenRisc-48-or1200的SPRS模块分析

    引言 之前,我们在分析or1200的WB模块时(http://blog.csdn.net/rill_zhen/article/details/10220619),介绍了OpenRISC的GPRS(ge ...

  4. 安装gstreamer

    安装gstreamerglib2.44.0locate libffi.soexport LIBFFI_CFLAGS=-L/opt/vagrant/embedded/lib/./confiure./co ...

  5. JProfiler解决Java服务器的性能跟踪

    转自:http://www.blogjava.net/anymobile/articles/28248.html

  6. CodeForces463C Gargari and Bishops(贪心)

    CodeForces463C Gargari and Bishops(贪心) CodeForces463C 题目大意:  在国际象棋的棋盘上放两个主教,这个两个主教不能攻击到同一个格子,最后的得分是这 ...

  7. C#.net连接SQLite及遇到的问题

    1.Slite简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需 ...

  8. asp.net 网站所有请求跳转到同一个页面

    应用场景:网站维护和未开发完成时,一般需要把所有请求都跳转的一个相关说明的页面,这样用户不至于困惑这个网站是不存在还是怎么了. Solution1:使用一个名称为 app_offline.htm(名字 ...

  9. PSP个人软件开发工具

    (您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力.   PSP个人软件开发工具 ...

  10. Maven 搭建与my-app项目测试

    前提条件,安装jdk1.6及以上版本,并配置JAVA_HOME 首先,下载Maven3.2.2,附下载地址:http://mirror.bit.edu.cn/apache/maven/maven-3/ ...