「8」进大厂必须掌握的面试题-Java面试-异常和线程( 二 )
Q10 。 什么是finally块?有没有什么情况下最终将不会执行?最终块是始终执行一组语句的块 。 它始终与try块相关联 , 无论是否发生任何异常 。是的 , 如果程序通过调用System.exit()或导致致命错误(导致进程中止)退出 , 则最终将不会执行 。
Q11 。 什么是同步?同步是指多线程 。 同步的代码块一次只能由一个线程执行 。 由于Java支持执行多个线程 , 因此两个或多个线程可以访问相同的字段或对象 。 同步是使所有并发线程在执行中保持同步的过程 。 同步避免了由于共享内存视图不一致而导致的内存一致性错误 。 当一个方法被声明为已同步时 , 线程将保持该方法对象的监视器 。 如果另一个线程正在执行同步方法 , 则该线程将被阻塞 , 直到该线程释放监视器 。
文章插图
Q12 。 我们可以在单个try块下写入多个catch块吗?是的 , 我们可以在单个try块下包含多个catch块 , 但是方法应从特定到一般 。 让我们通过一个编程示例来理解这一点 。
public class Example {public static void main(String args[]) {try {int a[] = new int[10];a[10] = 10 / 0;} catch (ArithmeticException e) {System.out.println("Arithmetic exception in first catch block");} catch (ArrayIndexOutOfBoundsException e) {System.out.println("Array index out of bounds in second catch block");} catch (Exception e) {System.out.println("Any exception in third catch block");}}}
Q13 。 Java异常类的重要方法有哪些?方法在基类Throwable中定义 。 Java异常类的一些重要方法如下所述 。
- String getMessage() –此方法返回有关异常的消息String 。 可以通过其构造函数提供消息 。
- public StackTraceElement [] getStackTrace()–此方法返回一个数组 , 其中包含堆栈跟踪中的每个元素 。 索引0处的元素表示调用堆栈的顶部 , 而数组中的最后一个元素表示调用堆栈底部的方法 。
- 同步的Throwable getCause() –此方法返回Throwable对象表示的异常原因或null ID 。
- String toString() –此方法以String格式返回信息 。 返回的字符串包含Throwable类的名称和本地化消息 。
- void printStackTrace() –此方法将堆栈跟踪信息打印到标准错误流 。
Q15 。 什么是线程?线程是可以由调度程序独立执行的最小编程指令 。 在Java中 , 所有程序都将至少具有一个线程 , 该线程称为主线程 。 当程序开始执行时 , 此主线程由JVM创建 。 主线程用于调用程序的main() 。
Q16 。 创建线程的两种方法是什么?在Java中 , 可以通过以下两种方式创建线程:
- 通过实现Runnable接口 。
- 通过扩展线程
- 串行垃圾收集器
- 并行垃圾收集器
- CMS垃圾收集器
- G1垃圾收集器 欢迎关注 Java架构师社区公众号. 本文转载自Java架构师必看 ,更多内容点击查看!
- 国外|坐拥77件专利,打破国外的垄断,造出中国最先进的家电芯片
- 体验|闭上眼睛点外卖是什么感觉?时隔一年再次体验,进步令人欣慰
- 抖音小店|抖音进军电商,短视频的商业模式与变现,创业者该如何抓住机遇?
- 权属|从数据悖论到权属确认,数据共享进路所在
- 省科技进步统计报告出炉,西湖区创新指数跻身全省前三
- 钢筋|海南国道G360文临公路项目引进钢筋智能“焊”将
- 率先|还在相片美颜?OPPO已进军视频美妆领域,周冬雨或率先体验
- 花15.5亿元与中粮包装握手言和 加多宝离上市又进一步?|15楼财经 | 清远加多宝
- 器件|苏州纳米所等在高性能柔性储能器件研究中取得进展
- 联手|政企联动、市区联手,共享计划促进大中小企业融通发展