finally的用法及注意事项

必然执行的异常统一的处理出口通俗点来讲:无论是否发生异常,finally必然执行

Finally:

1.finally作为异常处理的一部分,它一般用在try/catch语句中。
2.网络编程,I/o处理,数据库操作等 在执行这些操作时,都会发生异常。无论是网络编程还是客户端连接服务器以及连数据库占用数据库时,都需要释放,释放在finally里。

Finally在什么情况下执行,什么情况下不会执行?(注意事项)

软件在内存里没了,电脑停电关机这些因素的情况下才会不执行
否则一定会执行

两个对比案例

package com.java.demo1;

public class Demo6 {
public static void main(String[] args) {
Person p = haha();
System.out.println(p.age);
}
public static Person haha(){
Person p = new Person();
try{
p.age = 18;
return p;
}catch(Exception e){
return null;
}finally {
p.age = 28;
}
}
static class Person{
int age;
}
}

这个代码是备份的内存地址,内存地址没变,年龄换成28,所以结果为28

package com.java.demo1;

public class Demo7 {
public static void main(String[] args) {
int a = haha();
System.out.println(a);
}
public static int haha(){
int a = 10;
try{
return a;
}catch(Exception e){
}finally {
a = 20;
}
return 0;
}
static class Person{
int age;
}
}

这个代码是备份的返回值,返回的还是原来的a。这也就是引用类型和非应用类型的关系。

初学者对finally的认知相关推荐

  1. 初学者对HTML的认知

    HTML的用途: HTML是Internet上用于设计网页的主要语言,网页可以由文本,图片,动画等内容组成,基础架构都是HTML. 从事网页制作或者相关工作,就要学习HTML .  1.HTML开发 ...

  2. 追求极简:Docker镜像构建演化史

    // Dockerfile.target.alpine 自从2013年dotCloud公司(现已改名为Docker Inc)发布Docker容器技术以来,到目前为止已经有五年多的时间了.这期间Dock ...

  3. 深入理解BS结构应用程序

    随着学习的深入,和编程经验的丰富,对BS应用程序有一些认识. 在一些讨论软件技术的QQ群里,或一些社区.BBS中,经常会有一些初学者会犯一些认知性的错误.比如经常会有一些朋友提这样的一些问题:&quo ...

  4. ASP.NET Core 缓存技术 及 Nginx 缓存配置

    前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...

  5. c语言程序设计第二版课后答案 机械工业出版社,C语言程序设计 第2版

    图书简介 本书的写作融入了作者多年的教学经验,充分考虑到初学者的能力.认知水平.知识结构等因素,遵照循序渐进.由浅入深的原则,较系统地介绍了C语言程序设计知识.内容涵盖算法及算法设计.数据描述与基本操 ...

  6. 真强啊!建议每一个打算学Java的人都来看看!

    近日,资深码农公布2020年8月中国语言排行榜,Java语言依然需求量第一,平均薪资更是高达14470元.作为业界广泛应用的语言之一,Java程序员的退路是什么呢?换句话说,作为Java程序员,当你不 ...

  7. C语言的广泛作用的论文,高职C语言课程教学论文

    高职C语言课程教学论文 时间: 2014-04-23 栏目: 高职C语言课程教学论文 提高高职C语言课程教学效果的研究与实践 文/杨晓明 刘淑婷 摘 要:C语言是高职院校学生接触的第一门计算机语言课, ...

  8. 基于vue技术栈制作自己的简历网站问题总结篇(入门vue基础项目)

    前言 目前在学习vue技术栈的同时接触到了很多以前没用过的各种工具(如webpack,npm,git等等),配合着vue全家桶里的一些东西做了一个基于vue的个人简历网站(虽然用vue框架搭简历网站优 ...

  9. 适合零基础学习者的Java学习路线图到底长啥样?一篇文章带你学会Java

    很多小伙伴在转行互联网的时候,都担心自己不能坚持,不知道Java适不适合自己. 那最好的方式就是先不要着急直接转行,自己可以先去试着学习一些基础知识,看看对Java的学习难度能否适应以及自己是否真心喜 ...

最新文章

  1. 招聘|华为诺亚方舟实验室AI算法实习生
  2. Pandas把dataframe的索引、复合索引变换为数据列:包含单索引到单列(重命名)、复合索引到多数据列、复合索引的其中一个水平变换为数据列、
  3. [零基础学JAVA]Java SE面向对象部分-10.面向对象基础(05)
  4. 英文书也没有那么难,跟着例子做,挺有意思的
  5. [HNOI2008] Cards
  6. 拉曼软件在win8上运行出错问题
  7. 开启 Truffle Ganache  MetaMask交互
  8. Spring boot修改静态资源映射
  9. GPU硬件结构和程序具体参数设置
  10. html input font size,在移动端中Input大小随着font-size而变化
  11. 2021年恩阳中学高考成绩查询,巴中市恩阳中学2021年排名
  12. KubeVela 高可扩展的云原生应用平台与核心引擎
  13. 井下关于风速的规定_矿井有害气体最高允许浓度、温度、风速的规定
  14. Pandas——如何更改DataFrame中的值
  15. WampServer服务中MySQL无法正常启动解决方案
  16. @PropertySource注解获取配置文件值
  17. 引用的基本概念与用法
  18. 调节效应检验(一):线性回归分析
  19. 低代码平台-竞品分析ABP框架
  20. 淘宝技术这十年 -- 目录

热门文章

  1. 关于Thymyleaf中下拉菜单几点需要注意的问题
  2. EndNote X9使用指南
  3. 大佬们云服务器被挖矿了怎么解决
  4. 智能客服 | 在线智能导购,你的另一个最佳员工
  5. 【机器学习】先验分布(Prior distribution)and 后验分布(Posterior distribution)
  6. kettle----------什么是kettle
  7. 自动化运维工具-Ansible实战指南
  8. FinTech投资丨万联证券:神州信息 —— 领先的金融科技全产业链综合服务商
  9. 独享云虚拟主机、共享云,云服务器 ECS 区别
  10. 第三方账号登录的原理