Java核心卷1学习笔记
Java核心卷1的学习笔记,个人随笔记录,增加印象
zhou_gai
java程序猿
展开
-
第七章 异常、断言和日志
spring的事务@Transaction与try/catch之间的冲突:如果方法上标注了使用事务,但是在方法内部又使用了try/catch对代码异常进行了捕获,需要在catch方法内重新抛出异常,事务才能捕捉到异常,进行回滚操作。所以一般在finally块里面会执行:I/O流的关闭,数据库链接的关闭,锁的释放等释放资源的操作。catch代码块:捕获的异常类型,可声明多个catch代码块,进行不同的异常捕获处理,同时也可以在catch块中抛出异常。try代码块:正常执行的业务逻辑,可能会出现异常的代码块。原创 2024-01-30 20:20:43 · 251 阅读 · 0 评论 -
第六章 接口与内部类(2)
创建一个代理类如下:实现InvocationHandler接口创建自己的调用处理器(在该处理器中重写invoke方法,可以动态的添加实现额外的逻辑,AOP的实现原理)根据其作用域,内部类可以分为四种:局部内部类,匿名内部类,静态内部类,成员内部类。因为可以省去创建子类和实现类的过程, 匿名内部类的最终产物是子类/实现类对象。局部内部类的优势:对外部类完全的隐藏起来,外部类的其他方法也无法访问局部内部类。不清楚接口的实现类的情况下,匿名内部类可以实现接口的实例化调用。1、内部类可以对同一包中的其他类隐藏;原创 2024-01-19 16:23:31 · 344 阅读 · 0 评论 -
第六章 接口与内部类(1)
1、抽象能力:接口和抽象类都可以包含抽象方法,这意味着它们都定义了一些方法但没有提供具体的实现。然而,接口中的所有方法都是抽象的,而抽象类则可以选择性地提供部分方法的实现。3、常量定义:接口中只能定义常量,且这些常量默认是public static final的,而抽象类既可以定义普通变量也可以定义常量。深拷贝:创建一个新对象,属性/方法值完全相同,但底层不是同一个对象,修改拷贝对象不影响原来的对象。接口:接口不是类,是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。原创 2024-01-18 00:14:07 · 351 阅读 · 0 评论 -
第五章 继承(2)
防止单例被破坏的实现原理,反射破坏单例模式重点在于反射能够获取到单例的构造方法,并且调用构造方法构建对象。Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,在Java领域中,反射是一个很强大有很复杂的机制。反射的核心类Class类(类对象)原创 2024-01-16 21:38:26 · 375 阅读 · 0 评论 -
第五章 继承(1)
如上述代码所示,n/m,i/j之间的比较是int与Integer的比较涉及到了自动拆装箱之间的转换,-128 ~ 127之间的数会存在与缓存池中, 所以e和f对应的地址值是同一个,对象的比较结果也为true,其他通过new出来的对象之间的比较都是FALSE。子类sub重写父类P方法时,调用的是子类重写后的方法。P不能访问子类的getComplay()方法。3、子类继承抽象类,必定要实现抽象类中的抽象方法,且需要@Override注解标记子类方法。2、抽象方法的声明与普通方法不一样,抽象方法不具备方法体;原创 2024-01-15 23:53:16 · 582 阅读 · 0 评论 -
第四章 对象与类
每个类创建都会默认有一个无参构造,但是当我们实现了构造器以后,默认的无参构造会失效。final修饰基本类型数据,数据为常量,不可修改值,修改会有如下提示。final修饰对象,对象的引用不可变,对象的属性值可变。static方法只能调用static修饰的成员变量。原创 2024-01-13 22:36:09 · 329 阅读 · 0 评论 -
第三章:Java基本程序设计结构(2)
2、数组长度一旦指定长度,长度将不可在变化,每个位置上的元素可以变化。使用jshell可以很清晰的看到,新建数组的默认初始值是多少。可以实现类似于goto的语法,跳出多层循环。1、初始化必须指定数组长度。1、常规用法:跳出当前层的循环。原创 2024-01-11 22:30:08 · 322 阅读 · 0 评论 -
第三章:Java的基本程序设计结构(1)
注意的是:在同一个工程中,多个不同的类文件中可以存在其他main方法,可以再运行时指定执行哪个main方法。整型byte,short,int,long,浮点型float,double,字符型char,布尔型boolean。3.1、一个最简单的Java应用程序Main.class,可能是每个Java程序猿入门接触的第一行代码。移位位运算符:<<(右移)、>>(符号位不变,右移)、>>>(符号跟着右移,前端补0)三类://(单行) 、/**/ (多行)、 /** */ (段)原创 2024-01-11 07:49:38 · 338 阅读 · 0 评论 -
Java核心技术(卷一)学习笔记
1、面向对象设计:讲重点放在数据(即对象)和对象的接口上。2、Java发展简史Java语言的演进版本年份新增语言特性1.01996语言第一版1.11997内部类1.21998strictfp修饰符1.32000无1.42002断言5.02004泛型、for each循环、可变元参数、自动装箱、元数据、枚举、静态导入62006无72011基于字符串的选择语句,棱形运算符、二进制字面量、异常处理增强82014lambda表达式、Stream流92017。原创 2024-01-10 22:04:45 · 538 阅读 · 0 评论