关于关键字的源码也不知道上哪看,就通过测试,得一下结论:

问题:该机制的返回操作顺序是什么?

假设:

1.先执行finally,再返回!

2.直接返回,然后再执行finally!

3.返回途中,执行finally!

验证:

1.验证顺序

输出结果为try finally 1,返回结果没有被finally的操作影响

输出结果为try finally 3,可见在返回值出现前,finally块会先执行,如果finally块有return,finally的return会覆盖tr先前的return。

2.这次需要采用多线程,避免是因为多次return 出现多次返回的情况,让程序第一次返回就输出。

输出结果为try finally ac,返回发生在try块中,却有了finally块的操作

结论:finally块是在返回中间执行的,return时,先将返回值记录,执行finally,如果finally也有return则覆盖执行,如果没有则返回固定值。这里要注意的是,Java只有传值,所以如果是基本类型,数据不会受到影响,如果是对象类型,数据则会被改变,当然传的值(地址)本身其实没有改变。

try-finally的返回机制相关推荐

  1. CorelDRAWX4的C++插件开发(四十三)VBA的错误返回机制

    我们在写程序的时候往往不知道内部出了什么问题,所以问题返回机制还是比较重要的,程序可以不正确,但是程序一出问题直接就闪退崩溃也是一大麻烦,所以这里我们先探讨一下VBA的错误返回机制 我们先上代码 Co ...

  2. java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回

    java方法带参数返回值 在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , ...

  3. Java方法中的参数太多,第6部分:方法返回

    在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , 方法重载和方法命名 ). ...

  4. vue函数如何调用其他函数?_编程|如何简单理解函数的传参、返回、调用

    1 函数内部变量的局部性 在一个函数中定义的变量(包括实参),其作用域仅限于定义它的函数中,在其它的函数不能使用,这种变量称为"局部变量". 局部变量的作用域:函数内部声明和定义的 ...

  5. C++ 返回类型协变

    在C++中,只要原来的返回类型是指向类的指针或引用,新的返回类型是指向派生类的指针或引用,覆盖的方法就可以改变返回类型.这样的类型称为协变返回类型(Covariant returns type). 返 ...

  6. MYSQL JDBC快速查询响应的方法,快速返回机制的实现

    一直很纠结,Oracle的快速返回机制,虽然结果集很多,可是它能很快的显示第一个结果,虽然通过MYSQl的客户端可以做到,但是通过JDBC却不行. 今天用了1个多小时,终于搞定此问题,希望对广大Jav ...

  7. C++异常机制的实现方式和开销分析(作者:白杨)

    C++异常机制的实现方式和开销分析 白杨 http://baiy.cn 在我几年前开始写<C++编码规范与指导>一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了.没想到时隔 ...

  8. C++ 返回引用与返回值区别

    近期在跟着up黑马程序员学习C++课程,昨天对于链式调用产生了一些疑问,具体疑问如下 带有返回类型的return的返回到底是什么机制 返回"原有数值类型引用"与返回"原有 ...

  9. 一篇文章搞定《RecyclerView缓存复用机制》

    一篇文章搞定<RecyclerView缓存复用机制> 前言 零.为什么要缓存 一.RecyclerView如何构建我们的列表视图 二.缓存过程 三.缓存结构 1.mChangedScrap ...

最新文章

  1. 「小程序JAVA实战」微信开发者工具helloworld(三)
  2. paper 68 :MATLAB中取整函数(fix, floor, ceil, round)的使用
  3. MinGW安装与使用简介
  4. ML之Clustering之K-means:K-means算法简介、应用、经典案例之详细攻略
  5. atcoder E - Greedy Ant(最优解等价+dp)
  6. abaqus切削为什么没有切屑_切削液降温6大绝招,肯定有一款适合你
  7. Html5-audio标签简介及手机端不自动播放问题
  8. 如何设置迪文DGUS屏的字体效果?
  9. 嵌入式课程 之 超声波传感器实验
  10. 处理团队中的消极情绪
  11. 理解ASP.NET Core - 发送Http请求(HttpClient)
  12. 06年你看过《武林外传》吗?如果看过,就明白什么叫物是人非
  13. 计算机数据库三级考模拟试题,计算机三级考试《数据库技术》试题与答案
  14. shader TileMap html的Canvas绘图 缓动/反弹动作 unity
  15. Docker Login 登录凭证安全存储
  16. 关于做产品与做项目的区别
  17. FPGA入门系列17--task
  18. MySQL实战45讲学习笔记
  19. 18.Adaptive AUTOSAR 架构-核心类型CORE
  20. mysql查询每个人的总分_可不可以用一条SQL语句查询多人各自成绩的总和?

热门文章

  1. 2021年G1工业锅炉司炉证考试及G1工业锅炉司炉模拟考试题
  2. 网易发布第四季度财报 营收28.9亿美元
  3. 用HTML+CSS做一个漂亮简单的个人网页~个人相册介绍个人主页模板(6个页面) ~学生HTML个人网页作业作品~...
  4. 2015年ps计算机试题,2015年计算机一级考试《PS》全真模拟题(一)附答案
  5. gentoo linux 内核,Gentoo内核编译选项说明
  6. **数据堂荣登2018中国最具商业价值AI企业百强榜单**
  7. 镁光闪存颗粒对照表_内存颗粒版本判断方法和编号解析(三星、美光、海力士)...
  8. http-server : 无法加载文件 C:\Users\mes\AppData\Roaming\npm\http-server.ps1,因为在此系统上禁止运行脚本。有关详细信息, 请参阅 http
  9. mysql binary mode_导入mysql文件提示“ASCII \'\\0\' appeared in the statement”-wwmshe-ChinaUnix博客...
  10. 个人练习-Leetcode-909. Snakes and Ladders