finally只用一种情况不会操作:电脑断电或者程序被关闭
发布日期:2021-06-29 11:25:25
浏览次数:3
分类:技术文章
本文共 625 字,大约阅读时间需要 2 分钟。
finally只用一种情况不会操作:电脑断电或者程序被关闭
System.exit(0); //退出JVMfinally的执行流程:
- 先计算返回值,并将返回值存储起来,等待返回。
- 执行finally代码块。
- 将之前存储(备份)的返回值,返回出去。
注意事项:
1.返回值是在finally运行之前就确定了,并且缓存了,不管finally对该值做任何的改变,返回的值都不会改变。 2.finally代码中不建议包含return,因为程序会在上述的流程中提前退出,也就说返回的值不是try或者catch中的值。 3.如果在try或catch中停止了JVM,则finally不会执行。例如停电,或通过如下代码退出JVM: sysem.exit(0);由于引用数据类型和基本数据类型的不同,导致finally貌似没有被执行,实际被执行了。finally貌似没有被执行的原因如下:
在try语句块中,return 返回的a值为10,此时系统备份的返回值是10,虽然finally把a重新赋值为20,但是只是在栈中修改了这个值,此时系统备份的值依然是10,所以最终程序执行完成的时候,返回的是10。即finally貌似没有被执行。在try语句块中,p.age是引用数据类型,是根据栈中的地址进行赋值的,此时备份返回的是p.age的地址,try语句块执行完后,finally通过p.age的地址进行重新赋值为28,所以最终程序执行结束的时候,返回的是28。
转载地址:https://blog.csdn.net/ZXyuanCSDN/article/details/117261731 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年05月01日 19时01分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
速看 | 电子元器件如何确定好坏?
2019-04-29
485通信自动收发电路,历史上最详细的解释
2019-04-29
【视觉盛宴三】不好意思,这些线材接口的横截面真的没见过
2019-04-29
一位头发发白的神人教你怎么写程序,运维,买电脑,写文章,平面设计!
2019-04-29
【第二期】那些设计漂亮、有创意的电路板!
2019-04-29
【第三期】那些设计漂亮、有创意的电路板!
2019-04-29
继续推荐公众号~
2019-04-29
「第二篇」全国一等奖,经验帖。
2019-04-29
「第三篇」全国电子设计竞赛,这些你必须知道的比赛细节,文末附上近十年电赛题目下载...
2019-04-29
5G小科普(漫画版,So easy!)
2019-04-29
无人再提华强北
2019-04-29
千万不要小瞧那些不好好写代码的程序员
2019-04-29
80后,天才程序员, Facebook 第一任 CTO,看看开挂的人生到底有多变态?
2019-04-29
「第四篇」电赛控制题可以准备一些什么?
2019-04-29
「第五篇」全国电子设计竞赛-电源题设计方案总结
2019-04-29
「第六篇」对于电赛,我们应该看重什么?
2019-04-29
树莓派翻车了
2019-04-29
垃圾分类背后的数据和真相
2019-04-29
PID算法搞不懂?看这篇文章就够了。
2019-04-29
这位电子工程师,你不能错过。
2019-04-29