摘要: /** * 中国剩余定理 */ public class ChineseRemainderTheorem { // 扩展欧几里得算法,返回gcd(a, b)以及x, y使得ax + by = gcd(a, b) public static int extendedGCD(int a, int b, 阅读全文
posted @ 2024-09-27 15:38 狗狗没有坏心眼 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 升级的switch语句 在jdk12之前的switch语句中,如果没有写break,则会出现case穿透现象 int month = 3; switch (month) { case 3: case 4: case 5: System.out.println("spring"); break; ca 阅读全文
posted @ 2024-09-27 11:46 狗狗没有坏心眼 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 直接运行 在以前的版本中,在命令提示下,需要先编译,生成class文件之后再运行,例如: javac HelloWorld.Java java HelloWorld 在Java 11中,可以这样直接运行,当然这样直接运行是不产生字节码文件的 java HelloWorld.Java String新增 阅读全文
posted @ 2024-09-27 11:44 狗狗没有坏心眼 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 局部变量类型推断 Java 10 引入了 var 关键字,允许编译器根据右侧的初始化表达式自动推断局部变量的类型。 var list = new ArrayList<String>(); // 编译器推断 list 的类型为 ArrayList<String> var num = 10; // 推断 阅读全文
posted @ 2024-09-27 11:33 狗狗没有坏心眼 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 可读性基本定理——代码的写法应当使别人理解它所需的时间最小化 如果真的有人真的完全理解了你的代码,他就应该能改动它、找出缺陷并明白它是如何与你代码的其他部分交互的 就算你从事只有一个人的项目,这个目标也是值得的。那个其他人可能就是6个月的你自己,那时你自己的代码看上去已经很陌生了。而且你永远也不会知 阅读全文
posted @ 2024-09-27 11:28 狗狗没有坏心眼 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 接口私有方法 public interface MyInterface { //定义私有方法 private void m1() { System.out.println("123"); } //default中调用 default void m2() { m1(); } } 可以在接口中声明pri 阅读全文
posted @ 2024-09-27 11:27 狗狗没有坏心眼 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1. 运行所有测试 2. 不可重复 3. 表达了程序员的意图 4. 尽可能减少类和方法的数量 不可重复 重复有多种表现,极其雷同的代码当然是重复,类似的代码往往可以调整的更相似,这样就能更容易的进行重构 重复也有实现上的重复等其他一些形态。例如,在某个群集类中可能会有两个方法 int size() 阅读全文
posted @ 2024-07-19 16:32 狗狗没有坏心眼 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 模板模式(Template Pattern)是一种行为设计模式,它在一个方法中定义一个操作的骨架,而将一些步骤的实现延迟到子类中。模板方法模式使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板模式的组成部分 抽象类(Abstract Class): 定义算法的骨架,并包含一个模板 阅读全文
posted @ 2024-07-17 17:55 狗狗没有坏心眼 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 定律一:在编写不能通过的单元测试前,不可编写生产代码。 解释: 这条定律的意思是,你不能直接编写实现功能的生产代码,而是在开始之前需要先编写一个单元测试来验证这个功能。这个单元测试应该是你期望生产代码通过的测试。只有在有了这个测试之后,你才能开始编写生产代码。 目的: 确保每一段生产代码都有明确的测 阅读全文
posted @ 2024-07-17 17:44 狗狗没有坏心眼 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 特例模式指的是为处理某些特殊情况而创建的特殊类或对象。这些类或对象专门用于处理特定的异常情况或边界条件,以便简化主业务逻辑的处理。 应用场景:用于需要处理某些特殊输入、边界条件或错误情况的场景。 例如,处理数据库查询时,返回一个特例对象表示没有找到数据。 空对象模式通过提供一个行为为空的对象来替代n 阅读全文
posted @ 2024-07-17 11:45 狗狗没有坏心眼 阅读(10) 评论(0) 推荐(0) 编辑