【8】进大厂必须掌握的面试题-Java面试-异常和线程 (2)

最终块是始终执行一组语句的块。它始终与try块相关联,无论是否发生任何异常。
是的,如果程序通过调用System.exit()或导致致命错误(导致进程中止)退出,则最终将不会执行。

Q11。什么是同步?

同步是指多线程。同步的代码块一次只能由一个线程执行。由于Java支持执行多个线程,因此两个或多个线程可以访问相同的字段或对象。同步是使所有并发线程在执行中保持同步的过程。同步避免了由于共享内存视图不一致而导致的内存一致性错误。当一个方法被声明为已同步时,线程将保持该方法对象的监视器。如果另一个线程正在执行同步方法,则该线程将被阻塞,直到该线程释放监视器。

同步-Java面试问题-Edureka

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() –此方法将堆栈跟踪信息打印到标准错误流。

Q14。什么是Java中的OutOfMemoryError?

OutOfMemoryError是java.lang.Error的子类,通常在我们的JVM内存不足时发生。

Q15。什么是线程?

线程是可以由调度程序独立执行的最小编程指令。在Java中,所有程序都将至少具有一个线程,该线程称为主线程。当程序开始执行时,此主线程由JVM创建。主线程用于调用程序的main()。

Q16。创建线程的两种方法是什么?

在Java中,可以通过以下两种方式创建线程:

通过实现Runnable接口。

通过扩展线程

Q17。Java中有哪些不同类型的垃圾收集器?

Java中的垃圾收集程序,可以帮助进行隐式内存管理。由于在Java中,可以使用new关键字动态创建对象,一旦创建对象,该对象将消耗一些内存。一旦工作完成,并且不再有对象的引用,使用垃圾回收的Java将破坏该对象并释放其占用的内存。Java提供了四种类型的垃圾收集器:

串行垃圾收集器

并行垃圾收集器

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxjyz.html