乐趣区

关于java:Java面试面试如何让面试官面的很爽看完这道面试题finally块一定会执行吗

“finally 块肯定会执行吗?”

这是最近一个工作 3 年的小伙伴去面试的时候遇到的问题。

你遇到这个问题会怎么答复呢?

大家好,我是 Mic,一个工作了 14 年的 Java 程序员

对于这个问题,面试官想考查什么呢?

问题解析

这个问题,很显著是考查 Java 根底。

finally 语句块在理论开发中应用得十分多,它是和 try 语句块组合应用。

通常状况下,不论有没有触发异样,finally 语句块中的代码是必然会执行的,所以咱们会把资源的开释、或者业务日志的打印放在 finally 语句块外面。

所以,当大家把这个理念当成是固定的公式当前,就很少会去思考 finally 语句块什么状况下不执行。

这也是难倒很多求职者的起因,所以我认为这个问题次要考查两个方面:

  • 对 finally 关键字的了解水平,其实就是考查 Java 根底,良好的 Java 根底可能写出更加稳固和健壮性的代码
  • 是否具备对技术的摸索精力,这样的人在技术的成长速度上会比个别人更快

高手:

finally 语句块在两种状况下不会执行:

  • 程序没有进入到 try 语句块因为异样导致程序终止,这个问题次要是开发人员在编写代码的时候,异样捕捉的范畴不够。
  • 在 try 或者 cache 语句块中,执行了 System.exit(0)语句,导致 JVM 间接退出

总结

好了,明天的分享就到这里完结了

如果喜爱我的作品,记得点赞、珍藏、关注

版权申明:本博客所有文章除特地申明外,均采纳 CC BY-NC-SA 4.0 许可协定。转载请注明来自 Mic 带你学架构
如果本篇文章对您有帮忙,还请帮忙点个关注和赞,您的保持是我一直创作的能源。欢送关注同名微信公众号获取更多技术干货!

退出移动版