- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一部分
JAVA SE
1.异常与一般异常有何异同?
解答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
2.error和exception有什么区别:
error表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况; exception表示需要捕捉或者需要程序进行处理的异常,是比较轻微的是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。
知识点:
Error:重大问题,通过修改代码不能快速解决问题
Eception:较小的问题,可通过修改代码快速解决问题
异常的种类有捕获异常和未捕获异常。捕获异常是编译时报错,未捕获异常时编译时没有报错。
执行时报异常决解异常有两种方法:
一种是try_cath,语法是try{有可能发生异常的代码}catch(异常类名 对象名){发生异常时解决异常的代码} try后可以跟多个catch或一个finally.
注意:return 与 finally的关系:永远先finally再return,finally前有System.exit(1);则finally不执行
另一种throws关键字 抛出异常,语法是在产生异常的语句所在的函数后 加 throws 所产生异常的类名===擅于 解决捕获异常(编译时报的异常)
此处理方法,只是将异常 抛给上级调用函数,直至抛到main函数 交给JVM 但是不处理
如何产生异常? 一是编码时 语句操作有误,产生异常;二是用 throw关键字 throw new 异常构造函数 扔一个异常对象
3.简述你做项目时曾见到的异常 (背10异常类名 及什么时候会产生这种异常)
未捕获异常
NullPointerExcetion(空指针异常)
ArrayIndexOutOfBoundsException(数组下标越界)
StringIndexOutOfBoundsException
ClassCastException(强制类型转换的时候产生的异常)
ArithmeticException(算术异常)
SQLException
捕获异常
IOException
知识点:
MissingResourceException(丢失资源)、ClassNotFoundException(找不到类)等异常,
4. Collection 和 Collections的区别?
解答:Collection是java.util下的接口,它是各种集合的父接口,继承于它的接口主要有Set 和List;Collections是个java.util下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
知识点:
List子接口:1.子类 ArrayList: 按照添加的顺序 取出
ArrayList对象的语法 用构造函数
ArrayList常用的函数: add函数、get函数 、size()、-clear() 、remove(int index)
遍历ArrayList中的元素
方法一:标准for循环
方法二:增强型for循环
2.子类 LinkedList:按照添加的顺序 取出
用法同ArrayList
3.子类 Vector:按照添加的顺序 取出
过时 用法同ArrayList
Set子接口----set中存放的元素都是不重复的
判断不重复的原理是:只有equals结果为true hashCode结果为 相等 则不再加入此新元素,判定的结果是 新元素与已有元素是重复的,equals结果 和 hashCode结果只要有一个是不同 则 继续添加新元素,判定的结果是 新元素与已有元素不重复
1.子类HashSet:乱序,元素不重复
HashSet常用函数: add函 数、size()、-clear()、remove(Object obj)
遍历HashSet中的元素
方法一:增强型for循环
方法二:用迭代器取出所有元素
将set中的所有元素 放入 传送带 用iterator()函数 传送带名字Iterator
IteratorInteger it = s.iterator();
从传送带上 取出所有元素 Iterator
while(it.hasNext()){
Integer i = it.next();
System.out.println(i);
}
2.子类LinkedHashSet:按照添加顺序取出 后天顺序 不重复。用法同HashSet
3子类
文档评论(0)