2022年12月7日 #

创建者模式

摘要: 建造者模式 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。 由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出 阅读全文

posted @ 2022-12-07 18:01 老菜农 阅读(27) 评论(0) 推荐(0) 编辑

2022年12月6日 #

工厂模式

摘要: 工厂模式 在java中, 万物皆对象, 这些对象都需要创建, 如果创建的时候, 直接new对象, 就会对该对象耦合严重, 加入我们要更换对象, 所有new对象的地方都需要修改一遍, 明显违背了软件设计的开闭原则, 如果我们使用工厂来生产对象, 我们只和工厂打交道就ok, 彻底和对象解耦, 如果要更换 阅读全文

posted @ 2022-12-06 23:24 老菜农 阅读(42) 评论(0) 推荐(0) 编辑

2022年12月5日 #

单例模式

摘要: 单例模式 提供了一种创建对象的最佳方式 这种模式涉及到一个单一的类, 该类负责创建自己的对象, 同时确保只有单个对象被创建. 这个类提供类一种访问唯一对象的方式, 可以直接访问, 不需要实例化该类的对象 单例模式的实现 饿汉式: 类加载就会导致该单实例对象被创建 懒汉式: 类加载不会导致该实例对象被 阅读全文

posted @ 2022-12-05 23:29 老菜农 阅读(11) 评论(0) 推荐(0) 编辑

2022年11月25日 #

logback

摘要: logback介绍 Logback继承自log4j。Logback的架构非常的通用,适用于不同的使用场景。 logback和Log4j都是slf4j规范的具体实现,我们在程序中直接调用的API其实都是slf4j的api,底层则是真正的日志实现组件 logback或者log4j。 Logback 构建 阅读全文

posted @ 2022-11-25 23:53 老菜农 阅读(66) 评论(0) 推荐(0) 编辑

2022年11月13日 #

三范式是什么

摘要: 简单来说 第一范式: 数据库里每一列都是不可分割的基本数据项(原子性) 第二范式: 要求实体的属性完全依赖于主关键字 第三范式: 一个表中不包含已在其他表中已包含的非关键字信息 详细说 第一范式: 在关系模型中,对于添加列时, 所有的列都应该是原子性的, 即数据库表的每一列都是不可再分的原子数据项, 阅读全文

posted @ 2022-11-13 15:20 老菜农 阅读(822) 评论(0) 推荐(0) 编辑

2022年11月9日 #

IOC、AOP、Bean的生命周期

摘要: IOC 简单说 准备Spring的上下文环境ApplicationContext 扫描XML文件和注解, 得到一系列Bean的定义 根据Bean进行实例化, 依赖注入 把Bean放到容器Map里面 详细说 准备Spring的上下文环境 比如XMLWebApplicationContext、Annot 阅读全文

posted @ 2022-11-09 22:36 老菜农 阅读(114) 评论(0) 推荐(0) 编辑

2022年11月3日 #

leetcode - 234. 回文链表

摘要: 234. 回文链表 public boolean isPalindrome(ListNode head) { return twoPoint(head); //return withStack(head); } //找中点, 反转后一部分链表 public boolean twoPoint(List 阅读全文

posted @ 2022-11-03 16:47 老菜农 阅读(19) 评论(0) 推荐(0) 编辑

leetcode - 94. 二叉树的中序遍历

摘要: 94. 二叉树的中序遍历 List<Integer> inorder = new ArrayList<>(); public List<Integer> inorderTraversal(TreeNode root) { withStack(root); return inorder; } //递归 阅读全文

posted @ 2022-11-03 15:02 老菜农 阅读(9) 评论(0) 推荐(0) 编辑

leetcode - 617. 合并二叉树

摘要: 617. 合并二叉树 class Solution { //迭代 public TreeNode mergeTreesWithStack(TreeNode root1, TreeNode root2) { //如果当前root左右子树有一个是空的, 直接把非空的那个返回 if(root1 == nu 阅读全文

posted @ 2022-11-03 13:49 老菜农 阅读(17) 评论(0) 推荐(0) 编辑

2022年11月2日 #

leetcode-461.汉明距离

摘要: 461. 汉明距离 public int hammingDistance(int x, int y) { int z = x ^ y; //上下俩数都一样为0, 不一样为1, 得到一个整体 int res = 0; //当z的2进制数一直右移, 不为0的时候, 找为1的数 while(z != 0) 阅读全文

posted @ 2022-11-02 14:44 老菜农 阅读(30) 评论(0) 推荐(0) 编辑

导航