Java面试(三)
1 java中Exception 和 Error 区别
都是Throwable的子类。RuntimeException继承自Exception。
Error和RuntimeException及其子类是未检查异常;其他异常是受检查异常。
Exception:需要捕获或者需要处理的异常。用于用户程序可以捕获的异常。
Error:定义了不期望被用户程序捕获的异常(系统崩溃,虚拟机错,内存不足,方法调用栈溢出,比如StackOverFlowError, OutOfMemoryError)。系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如:内存资源不足,对于这种错误,程序基本无能为力。
运行时异常:除数为0;错误类型转换;数组越界,空指针。(如果出现这种错,一定是程序猿的错误)
受检查异常:要有try catch或 throws声明。
2 finally代码块和 finalize() 方法区别?
注意:当try和catch中有return,finally仍然会执行。
Finally是在return后面的表达式运算后执行的,所以函数返回值是在finally执行前确定的。无论finally中代码如何,return的值都确定,是之前保存的值。
Finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值,而是finally中return的值。
Finalize是object类的一个方法,在对象被垃圾回收之前由java 虚拟机来调用。
3 throw 和 thrwos
throw : 代码中抛出异常。 Throws: 表明方法不能处理,而抛出的异常,多个异常用逗号分。
4 finally
无论是否抛出异常,finally中的都要执行。主要是做一些释放资源之类的事情。比如:I/O缓冲区,竹居裤链接。
5 异常处理完后,Exception对象会发生什么变化?
下一个垃圾回收过程中被回收掉。
6 Java中两种异常类型是什么?他们有什么区别?
受检查异常(checked): 用try-catch捕获处理;或者用throws在方法上声明。
不受检查异常(unchecked):不需要在方法或构造函数上声明,异常可以传播到方法外面。
7 static块:在类加载的时候执行一次,一般用来出回话静态变量和调用静态方法。
A继承B,A a = new A();
B静态代码块-》A的静态代码块-》B非静态代码块-》B构造函数-》A的非静态代码块-》A构造函数。
总结:静态代码块总是最先执行。
非静态代码块跟非静态方法一样,跟对象有关,但是非静态代码块在构造函数之前执行。
父类非静态大码块,构造函数执行完后(父类构造完),才开始执行子类的非静态代码块和构造函数。
Java面试(三)的更多相关文章
- [Java面试三]JavaWeb基础知识总结.
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...
- Java面试题精选(三) JSP/Servlet Java面试逻辑题
-- JSP/Servlet Java面试逻辑题 -- 很显然,Servlet/JSP的WEB前端动态制作的重要性比HTML/CSS/JS的价值高很多,但我们都知道他们都是建立在HT ...
- Java 面试知识点解析(三)——JVM篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java面试集合(三)
前言 大家好,给大家带来Java面试集合(三)的概述,希望你们喜欢 三 1.在Java中是否可以含有多个类? 答:可以含有多个类,但只有一个是public类,public类的类名与文件名必须一致. 2 ...
- Java面试集合(三)-30道面试题
前言 大家好,我是 Vic,今天给大家带来Java面试集合(三)的概述,希望你们喜欢 三 1.在Java中是否可以含有多个类?答:可以含有多个类,但只有一个是public类,public类的类名与文件 ...
- 春节过后就是金三银四求职季,分享几个Java面试妙招,轻松搞定HR!
春节过后就是金三银四,分享几个Java面试妙招,轻松搞定HR! 2020年了,先祝大家新年快乐! 今年IT职位依然相当热门,特别是Java开发岗位.软件开发人才在今年将有大量的就业机会.春节过后,金三 ...
- 三面阿里,被Java面试官虐哭!现场还原真实的“被虐”场景
前言 人人都有大厂梦,我也不例外,从大三开始,就一直想进入阿里工作,大毕竟是大厂,想想也没那么容易,不过好在自己学历还过得去,项目经验也有得讲,所以今年也斗胆尝试了一下,直接就投了阿里云计算.简历是过 ...
- 【Java面试】TCP协议为什么要设计三次握手?
一个工作5年的粉丝,最近去面试了很多公司,每次都被各种技术原理题问得语无伦次. 由于找了快1个月时间的工作,有点焦虑,来向我求助. 我能做的只是保证每天更新一个面试题,然后问他印象最深刻的一个面试题是 ...
- Java面试知识点之线程篇(三)
前言:这里继续对java线程相关知识点进行总结,不能间断. 1.yield()方法 yield()的作用是让步.它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执 ...
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
随机推荐
- DDOS 攻击工具
DDOS 攻击工具 使用github上的DDOS攻击工具 https://github.com/Ha3MrX/DDos-Attack 将python脚本拷贝到主机,使用 chmod +x ddos- ...
- 29-THREE.JS 根据公式画形状
<!DOCTYPE html> <html> <head> <title></title> <script src="htt ...
- opencv:直方图操作
示例程序: #include <opencv.hpp> using namespace cv; using namespace std; int main() { Mat src, dst ...
- Mongodb 补充
1 mongodb 概述 启动mongo 1 数据库操作 没有数据的 集合 和 数据库不会显示 db 查看当前的数据库名称: 所有物理上存在的数据库 db.stats() 查看当前的数据库信息: sh ...
- 第2章 开始Flex
* Flex开发中可用两种语言 1.MXML 2.ActionScript * Flex中使用两个组件集 1.MX (mx.*) 早期的Flex版本用到的组件集 2.Spark (spark.*) F ...
- Python创建CRNN训练用的LMDB数据库文件
CRNN简介 CRNN由 Baoguang Shi, Xiang Bai, Cong Yao提出,2015年7月发表论文:"An End-to-End Trainable Neural Ne ...
- 运用 jenkins 让你的项目优雅的持续化集成
0.到系统管理->系统设置 1.安装插件 Publish over SSH 2.配置 Publish over SSH 参数 1.pass 是私钥密码,此私钥文件放在安装 jenkins 的主机 ...
- 基功太差,怨不得天,得下苦功——WAP面试,正式招聘号角响起
WAP面试,直接考察coding能力. 面试官是一个日本先生.人超级Nice.一直朝我微笑. 简短的self-introdution后,就让写代码了. (欧巴桑昨天面的,回去后就把题目告诉我们了,我昨 ...
- 2017 山东二轮集训 Day7 国王
2017 山东二轮集训 Day7 国王 题目大意 给定一棵树,每个点有黑白两种颜色,定义一条简单路径合法当且仅当路径上所有点黑色与白色数量相等,求有多少非空区间 \([L,R]\) ,使得所有编号 \ ...
- PS基础教程[4]如何载入笔刷
笔刷是我们制作图片时的一个很好的工具,能够快速方便的帮助我们制作出很多现有的效果,所以我们都会制作很多的笔刷保存起来载入到PS中方便我们使用.本次系类经验的第四篇就来介绍一下笔刷的导入. 方法 1.笔 ...