首页 > 编程语言 > 【Java面试】面试如何让面试官面的很爽,看完这道面试题,finally块一定会执行吗?

【Java面试】面试如何让面试官面的很爽,看完这道面试题,finally块一定会执行吗?

时间:2022-09-01 17:55:06浏览次数:51  
标签:语句 面试题 Java 很爽 try 面试 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带你学架构
如果本篇文章对您有帮助,还请帮忙点个关注和赞,您的坚持是我不断创作的动力。欢迎关注「跟着Mic学架构」公众号公众号获取更多技术干货!

标签:语句,面试题,Java,很爽,try,面试,finally,执行
From: https://www.cnblogs.com/mic112/p/16647383.html

相关文章

  • 见过的python算法面试题记录(持续记录···)
     以上代码的输出是[6,6,6,6](而不是[0,2,4,6])。这个的原因是Python的闭包的后期绑定导致的latebinding,这意味着在闭包中的变量是在内部函数被调用的时候被......
  • Flink常见面试题总结
     1、面试题一:应用架构问题:公司怎么提交的实时任务,有多少JobManager、TaskManager?解答:(1)我们使用yarnsession模式提交任务;另一种方式是每次提交都会创建一个新......
  • 面试题之RocketMQ
    1、为什么要使用MQ?因为项目比较大,做了分布式系统,所有远程服务调用请求都是同步执行经常出问题,所以引入了MQ,MQ具有异步解耦和削峰填谷的作用2、RocketMQ由哪些角......
  • [面试]HandlerInterceptors vs. Filters in Spring MVC
    一.Filters过滤器是web服务器的一部分,而不是Spring框架的一部分。对于传入的请求,我们可以使用过滤器来操作甚至阻止请求到达任何的servlet。反之亦然,我们也可以阻止响应......
  • 前端高频面试题(六)(附答案)
    如何优化动画?对于如何优化动画,我们知道,一般情况下,动画需要频繁的操作DOM,就就会导致页面的性能问题,我们可以将动画的position属性设置为absolute或者fixed,将动画脱离文档流......
  • HBase面试题整理
    1、HBase的特点是什么?1)大:一个表可以有数十亿行,上百万列;2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;3......
  • Redis面试
    1.什么是Redis?它主要用来什么的?Redis,英文全称是RemoteDictionaryServer(远程字典服务),是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Ke......
  • OCG面试
    GoldenGate(简称OGG)提供异构环境下交易数据的实时捕捉、变换、投递。1、OGG原理OGG是一种基于日志的结构化数据复制软件,通过捕获源数据库onlineredolog(在线重做日志)......
  • Sqoop面试题
    sqoop概述sqoop是连接关系型数据库和hadoop的桥梁,主要有两个方面(导入和导出):A.将关系型数据库的数据导入到Hadoop及其相关的系统中,如Hive和HBaseB.将数据从Hadoo......
  • Flume面试
    flume概述Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数......