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做一下对比,便于大家更好的理解和 ...
随机推荐
- Appium 自动化测试(5)-- Appium详细介绍:Appium 手机自动化测试_TesterHome公开版pdf
- js监测滚动条到达最底边
scroll : function(){ $(window).scroll(function () { var scrollTop = $(this).scrollTop(); var scrollH ...
- spring定时器的定义
1.0/5 * * * * ?表示多长时间: 每 5 秒执行一次 七个域从左到右依次是,秒,分,时,日,月,周几,年....最后一个可选.同样是七个域与当前时间匹配的时候则执行... n/m 表示从n ...
- 《Drools7.0.0.Final规则引擎教程》第4章 4.2 lock-on-active
lock-on-active 当在规则上使用ruleflow-group属性或agenda-group属性的时候,将lock-on-active 属性的值设置为true,可避免因某些Fact对象被修改 ...
- JAVA并发全景图1.1版本
感谢微信群"Spring Boot那些事"兄弟们的热心整理和总结
- 高性能高并发服务器架构设计探究——以flamigo服务器代码为例
这篇文章我们将介绍服务器的开发,并从多个方面探究如何开发一款高性能高并发的服务器程序. 所谓高性能就是服务器能流畅地处理各个客户端的连接并尽量低延迟地应答客户端的请求:所谓高并发,指的是服务器可以同时 ...
- How your script code be coverted into arm code and running on ios.
Your script code is compiled into DLLs (assemblies) by the editor. When you build for iOS, these ass ...
- Ubuntu 安装文本编译器notepad++,ultraEdit
Windows下用过的文本编辑器主要有notepad++和UltraEdit,这里记录一下这两种编辑器在Ubuntu下的安装方法: Notepad++: 其实Ubuntu下无法按安装Notepad++ ...
- C++之内核对象进行线程同步
用户模式下的线程同步机制提供了非常好的性能,但他们也的确存在一些局限性,而且不适用于许多应用程序,例如,对Interlocked系列函数只能对一个值进行操作,它们从来不会把线程切换到等待状态.我们可以 ...
- jslinq 使用总结
最近一直在用 jslinq 感觉还是不错的.用于增强 Array.find() 上重点: 1: 引用 cnpm install jslinq --save (本人用淘宝镜像--npmFQ感觉也不快-- ...