基础TIJ
英雄史诗
这个作者很懒,什么都没留下…
展开
-
NPE错误的场景原因和解决方法
1、空对象,访问空对象的方法或属性;2、空数组,访问空数组的size()或内容;3、基本类型,自动拆箱;如函数返回int,内部实际是Integer,如果是null时,则NPE。4、数据库查询的结果可以是null;eg:mybatis的Emp emp = baseMapper.selectById(“0”),使用错误的查询条件。5、级联调用容易出现NPE。6、数组不为空,但对象的某个属性为空。原创 2023-06-07 00:18:18 · 1044 阅读 · 0 评论 -
Tij12_finally的覆盖与不覆盖
在异常章节的学习中,Java虚拟机在每个try语句块和与其相关的catch子句的结尾 处都会“调用”finally子句的子例程。实际上,finally子句在方法内部的表现很象“微型子例程”。finally“微型子例程”不等同于方法函数的调用,finally子句都是在同一个栈内执行的,微型子例程的“返回”操作也不会涉及到方法退栈,仅仅是使程序计数器pc跳转到同一个方法的一个不同的位置继续执行。3) 把局部变量(指temp)的值push到操作数栈顶,然后返回到调用方法。第二个:返回了finally中的值。原创 2022-12-01 23:53:54 · 101 阅读 · 0 评论 -
Tij12_异常:while实现恢复模型
java的异常处理默认是中断模型,即当异常发生时中断当前执行,跳转到异常处理机制。部分场景下,恢复模型也需要,如检查入参直到允许执行。原创 2022-11-19 00:16:01 · 123 阅读 · 0 评论 -
TIJ14_类型信息
Rtti与多态:尽量使用多态;rtti是对多态的补充。反射更动态、更多运行时异常rtti的引入的目的:对多态的补充,更精确的识别子类行,执行特定操作rtti的实现方式:Class对象,及常用方法反射,另外的rtti类型;普通rtti,编译时是知道了具体类的类型信息;反射是运行时不知道类型信息。经典的使用场景:动态代理、事务处理。...原创 2022-08-07 00:22:44 · 187 阅读 · 0 评论 -
TIJ8_多态
温故而知新2022-04-18方法调用绑定:运行时,根据对象的类型绑定方法。java与c的区别。创建对象时构造器执行顺序1)递归调用应用基类构造器;2)按声明顺序调用成员初始化方法;3)导出类构造器。注意:调用基类(父类)构造器,并不是创建父类的对象,只是执行父类构造函数。...原创 2019-09-24 10:08:10 · 119 阅读 · 0 评论