Try-Finally执行顺序的经典面试题

2023-11-07

try{} catch{} finally{},finally一定都会去执行,常在finally进行释放锁、释放连接等操作。

案例一代码分析

package top.chenxi.test;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: chenxiky
 * @Date: 2022/06/03/13:36
 * @Description: try finally执行顺序
 */
public class FinallyTest {
    public static void main(String[] args) {

        try {
            System.out.println("chenxiky is test!!");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // Ctrl+Shift+U 小写转大写
            System.out.println("CHENXIKY IS TEST2!!");
        }
    }
}

执行结果如下:

chenxiky is test!!
CHENXIKY IS TEST2!!

先执行了try代码块,再执行finally代码块

案例二代码分析

package top.chenxi.test;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: chenxiky
 * @Date: 2022/06/03/13:36
 * @Description: try finally执行顺序
 */
public class FinallyTest {
    public static void main(String[] args) {
        System.out.println(chechReturn());
    }

    public static int chechReturn() {
        int i = 0;
        try {
            return ++i;
        } finally {
            return ++i;
        }
    }
}

执行结果如下:

2

先执行了try代码块,再执行finally代码块,最终返回结果

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Try-Finally执行顺序的经典面试题 的相关文章

  • JSF2.0 中的空白输入字段未设置为 NULL

    我有一个支持 bean 其中 fileld 为 Long Double Integer String 当我没有在输入字段中指定任何内容时 长整型 整数和双精度值将被视为零 而不是空 我正在使用 tomcat 来部署我的应用程序 有什么解决办
  • 如何打印JTable中选定的行

    我尝试使用主 JTable 的选定行和相同的头和单元格渲染来创建临时 JTable 但是当我尝试打印它时 我只得到一个带有线边框的空矩形 我在如何打印 JTable 的特定行 列 https stackoverflow com questi
  • 合并 2 个 .jks 信任库文件

    我正在使用启用了 SSL 的 Tomcat 并使用信任库进行客户端身份验证 我有两个 jks trustore 文件 第一个 我将其用于 PROD 环境 另一个用于 TEST 环境客户端证书 我在 Tomcat 上部署了 Web 应用程序
  • Java 比 Xmx 参数消耗更多内存

    我有一个非常简单的 Web 服务器类 基于 Java SEHttpServer class 当我使用此命令启动编译的类来限制内存使用时 java Xmx5m Xss5m Xrs Xint Xbatch Test 现在如果我使用检查内存top
  • 如何创建仅接受字母数字字符的正则表达式? [复制]

    这个问题在这里已经有答案了 可能的重复 字母数字和下划线的正则表达式 https stackoverflow com questions 336210 regular expression for alphanumeric and unde
  • bean 的 CDI @TransactionAttribute

    我正在尝试CDI在测试应用程序上 我有一个DAO它注入一个托管的容器JTA像这样的持久化上下文 public class TestDAO implements Serializable PersistenceContext private
  • 如何确定 JDialog 显示在哪个屏幕上

    我有一个非常大的应用程序 有多个对话框 我的任务是确保不完全可见的对话框 因为用户将其从可见屏幕区域拉出 移回屏幕中心 当我只处理一个屏幕时 这没问题 它工作得很好 但是 该应用程序的大多数用户的桌面上都有两个屏幕 当我尝试找出对话框显示在
  • 带嵌入式 tomcat 的 spring-boot 不会将请求分派到控制器

    我有一个使用 spring boot 和嵌入式 Tomcat 容器的应用程序 据我所知 我的代码与 spring boot 相同示例项目 https github com spring projects spring boot tree m
  • 覆盖乔达一周的第一天?

    是否有可能覆盖乔达弱的第一天sunday 因为 Joda 使用Monday作为一周的第一天 如果有办法的话 谁能解释一下 我在 SOF 中提到了以下主题 乔达时间 一周的第一天 https stackoverflow com questio
  • 在休眠搜索中使用现有分析器AnalyzerDiscriminator

    Entity Indexed AnalyzerDefs AnalyzerDef name en tokenizer TokenizerDef factory StandardTokenizerFactory class filters To
  • String.intern() 线程安全吗

    我想在Java中使用 String intern 来节省内存 对具有相同内容的字符串使用内部池 我从不同的线程调用这个方法 这是个问题吗 对你的问题的简短回答是肯定的 它是线程安全的 但是 您可能需要重新考虑使用此工具来减少内存消耗 原因是
  • 更改JavaFX TableView字体大小[重复]

    这个问题在这里已经有答案了 您好 我想在表视图列内的文本上设置字体 我如何用 Java 做到这一点 这是我的代码 感谢帮助 private final TableView
  • 将序列化数据发送到 servlet 时出现 java.io.EOFException

    我正在尝试从 Java 本地应用程序上传一个包含文件到服务器的对象 我的计划是 在 tomcat 上运行的 servlet 将使用以下方法获取对象ObjectInputStream in the doGet方法 但我得到一个EOFExcep
  • mysql 准备好的语句错误:MySQLSyntaxErrorException

    我使用准备好的语句编写了选择语句 每次尝试运行都会出现此错误 我如何克服这个错误 我的jdbc连接器是mysql connector java 5 1 13 bin jar 我的代码 public Main add ad to getAdD
  • 如何让 Camel FTP 按需只获取一次

    我对骆驼还很陌生 我一直在尝试让 Camel 根据需要仅通过 FTP 获取单个文件一次 我无法让它发挥作用 这是我尝试过的 让我知道什么是最好的方法以及我的代码有什么问题 1 读取文件后发送一条空消息当收到空消息时 停止路由 from di
  • 找出对象列表中是否包含具有指定字段值的内容?

    我有一个从数据库收到的 DTO 列表 它们有一个 ID 我想确保我的列表包含具有指定 ID 的对象 显然 在这种情况下创建具有预期字段的对象不会有帮助 因为 contains 调用 Object equals 并且它们不会相等 我想出了这样
  • 优雅地避免 Java 中的 NullPointerException

    考虑这一行 if object getAttribute someAttr equals true 显然这一行是一个潜在的错误 属性可能是null我们会得到一个NullPointerException 因此我们需要将其重构为以下两个选择之一
  • 当框架被拖动时,如何设置 JWindow 的位置位于文本字段下方?

    我正在制作一个自动完成项目 就像谷歌一样 我的框架中有一个 jtextfield 每当我在该字段中输入内容时 该文本字段下方就会出现一个 JWindow 并且该窗口来自另一个类 现在的问题是 每当我拖动框架时 如何使窗口始终出现在文本字段下
  • 与手动搜索列表相比,Collections.binarySearch 的性能如何?

    我想知道该使用哪一个 我有一份学生名单 我想用他的名字搜索一个学生 到目前为止 我是通过迭代列表手动完成的 如下所示 for int i 0 i lt list size i Student student list get i if st
  • Spring Boot 2 中的 401 代替 403

    With 春季启动 https projects spring io spring boot 1 5 6 发布我能够发送 HTTP 状态代码401代替403如中所述如果请求未经身份验证的uri 如何让Spring Security响应未经授

随机推荐

  • unity 走马灯packageManager

    功能介绍 功能预览图 介绍 这是一个走马灯翻页的功能 功能1 点击左右两侧按钮支持切换图片 功能2 点击下方图片对应横条切换图片 功能3 左右拖拽图片支持滑动 功能4 支持n秒后自动翻滚 图片是我们用户自己添加 下方按钮个数是动态生成 可以
  • GOF设计模式(12)访问者模式

    简介 一 定义 访问者模式 Visitor Pattern 提供一个作用于某对象结构中的各元素的操作表示 它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作 访问者模式是一种对象行为型模式 访问者模式可以为为不同类型的元素提供
  • csdn Markdown博客设置代码片高亮

    由于最近一直在写博客 觉得代码一行行都是一个颜色看起来好难受 所以就想设置一下 发现 可以在 管理 博客 gt 博客设置 中设置博客代码片的样式 于是 我就设置了 然而 写博客时发现 没有效果啊 代码还是没有样式 如下图 这是为什么呢 后来
  • 连接url中参数useSSL=true引发的缺少证书异常(使用mysql-connector)

    最近在做架构迁移 将基于oracle ejb weblogic架构的OA系统迁移至mysql tomcat环境下 在修改完数据库函数之后 启动测试的时候 遇到一个很诡异的异常 如下 The last packet successfully
  • Springboot RabbitMq源码解析之消费者容器SimpleMessageListenerContainer

    Springboot RabbitMq源码解析之配置类 Springboot RabbitMq源码解析之消息发送 一 MessageListenerContainer 在Springboot RabbitMq中 接口MessageListe
  • MinIO简单安装及使用

    MinIO简介 MinIO是一个开源的 云原生的对象存储服务器 它提供了简单 高性能 安全 可扩展的存储服务 MinIO最初是作为一个Amazon S3兼容的对象存储服务器开发的 可以通过S3 API与其他应用程序和服务进行交互 MinIO
  • 移动WEB开发之-REM(rem)布局

    目录 移动WEB开发之REM布局 rem基础 rem单位 媒体查询 什么是媒体查询 媒体查询语法规范 1 mediatype 查询类型 2 关键字 3 媒体特性 4 媒体查询书写规则 less 基础 维护css弊端 Less 介绍 Less
  • 如何将本地深度学习项目放到阿里云服务器(CentOS 7)上运行(基本完整)

    由于比赛需要 需要将本地的一个Python项目 keras框架的深度学习代码 放到云服务器上运行 以下是我的历程 以及踩过的坑 希望对有相同需要的人有所帮助 步骤一 购买学生机 阿里云官网认证学生用户 24周岁以下 返回阿里云首页 查看产品
  • touch手势事件及功能封装

    文章目录 基本概念 事件类型 事件对象的属性 touch事件封装 单击 双击 滑动方向 上下左右 距离 角度 缩放 旋转 常用功能封装 滑动图片浏览 实现拖拽操作 游戏角色移动 跳跃 封装手写板功能 在现代Web开发中 移动设备的普及使得触
  • esmini LongSpeedAction修改

    esmini的LongSpeedAction 如果shape设置为step的话 DynamicsDimension实际就无效了 因为step的意思就是直接设置 在LongSpeedAction的Start过程中设置完就结束了 Step就不在
  • 2、隐私计算--安全多方计算

    目录 安全多方计算 安全多方计算的技术架构 安全挑战敌手模型 安全多方计算关键技术 安全多方计算主要特点 安全多方计算应用 安全多方计算与区块链 JUGO平台 参考 https blog csdn net w365904 article d
  • 如何将MATLAB程序编译成独立可执行的程序

    一 生成独立可执行的程序 exe文件 步骤1 安装编译器 可有多种选择 matlab自带了一个LCC 推荐使用VC 6 0 我基于VS 2003实现 2 设置编译器 在matlab命令行输入mbuild setup以及mex setup 选
  • 【Diffusion模型系列1】DDPM: Denoising Diffusion Probabilistic Models

    0 楔子 Diffusion Models 扩散模型 是在过去几年最受关注的生成模型 2020年后 几篇开创性论文就向世界展示了扩散模型的能力和强大 Diffusion Models Beat GANs on Image Synthesis
  • MATLAB 神经网络NAR时间序列做预测

    本人用到MATLAB神经网络NAR时间序列做预测 根据网上的程序和MATLAB说明 整理出了程序如下 公共号 数据统计分析与挖掘 中回复 数据 获取本文所需数据 公共号 数据统计分析与挖掘 中回复 书籍 获取50本数据分析 python 统
  • mac vscode替换查找以及格式化快捷键

    command option f 当前文件替换 command f 当前文件查找 command shift h 全局替换 command shift f 全局查找 option shift F 格式化代码
  • openwrt如何关掉防火墙?

    答 1 阻止防火墙服务开机自动启动 etc init d firewall disable 2 关闭防火墙 etc init d firewall stop 转载于 https www cnblogs com dakewei p 10784
  • java math 保留_java怎么保留两位小数?具体方法是什么?

    小伙伴们在平时写程序的时 有没有需要在界面或者页面上保留小数点后两位的数据时候呢 今天 小编就来为大家讲一讲如何在Java中保留小数点后两位 一 使用java math BigDecimal 使用BigDecimal 保留小数点后两位 pu
  • 【环境搭建】机械革命 Z3 Air 双系统 原生Windows10 +Ubuntu 20.04.2.0 LTS 桌面版 配置

    欲望是一半生命 冷漠是一半死亡 文章目录 前言 一 前期准备 二 开始安装 1 压缩空间 2 制作安装U盘 3 安装系统 4 安装显卡驱动 总结 前言 众所周知 在Windows上尝试搭建深度学习环境只会带来无尽的痛苦 在Ubuntu上亦是
  • 【Python 虚拟环境创建】解决遇到的问题并在vscode上测试

    目录 一 前提准备 二 python虚拟环境创建 解决问题 virtualenv mkvirtualenv 不是内部或外部命令 也不是可运行的程序 或批处理文件 解决问题 pycharm终端提示无法加载文件 E software pytho
  • Try-Finally执行顺序的经典面试题

    try catch finally finally一定都会去执行 常在finally进行释放锁 释放连接等操作 案例一代码分析 package top chenxi test Created with IntelliJ IDEA Autho