「8」进大厂必须掌握的面试题-Java面试-异常和线程( 二 )
- String getMessage() –此方法返回Throwable消息字符串 , 并且可以在通过其构造函数创建异常时提供该消息 。
- String getLocalizedMessage()–提供此方法 , 以便子类可以重写它以向调用程序提供特定于语言环境的消息 。 此方法的可抛出类实现仅使用getMessage()方法即可返回异常消息 。
- Synchronized Throwable getCause() –此方法返回异常原因 , 或者返回null id , 原因未知 。
- String toString() –此方法以String格式返回有关Throwable的信息 , 返回的String包含Throwable类的名称和本地化消息 。
- void printStackTrace() –此方法将堆栈跟踪信息打印到标准错误流 , 此方法已重载 , 我们可以传递PrintStream或PrintWriter作为参数 , 以将堆栈跟踪信息写入文件或流 。
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类的名称和本地化消息 。
- 华为员工必须用华为手机?内部员工:主管用友商手机会“倒霉”
- 国家发布“铁令”,微信、支付宝始料未及,必须作出整改
- 一个亮点解读 创维小湃P3 Pro必须要买的理由
- 手机必须双扬声器 魅族17系列告诉你这不是噱头
- 内存大厂跨界之作!芝奇Enki 360一体式水冷评测:高密度冷排稳压18核心
- 国家点名!互联网大厂们,请当个人
- 事关“不配送充电头”一事!官媒正式发话!“吐槽”必须有
- 比原子弹还稀有,全球就两国掌握,光刻机为什么如此难造?
- 在线教育陷入持久战 作业帮凭“长期主义”掌握主动权
- 青少年|封面评论 |“青少年模式”依旧漏洞百出,标准化合规框架必须落地