07 2022 档案
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/check-permutation-lcci 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 点击查看代码 class Solution { p
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/is-unique-lcci 实现一个算法,确定一个字符串 s 的所有字符是否全都不同。 点击查看代码 class Solution { public boolean isUnique(String as
阅读全文
摘要:事务 事务是一组操作的集合,事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 基本操作: -- 1. 查询张三账户余额 select * from account where name = '张三'; -- 2. 将张三账户余额-1000 update
阅读全文
摘要:多表查询 多表关系 一对多(多对一) 多对多 一对一 一对多 案例:部门与员工 关系:一个部门对应多个员工,一个员工对应一个部门 实现:在多的一方建立外键,指向一的一方的主键 多对多 案例:学生与课程 关系:一个学生可以选多门课程,一门课程也可以供多个学生选修 实现:建立第三张中间表,中间表至少包含
阅读全文
摘要:约束 分类: | 约束 | 描述 | 关键字 | | | | | | 非空约束 | 限制该字段的数据不能为null | NOT NULL | | 唯一约束 | 保证该字段的所有数据都是唯一、不重复的 | UNIQUE | | 主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | PRIMARY
阅读全文
摘要:函数 字符串函数 数值函数 日期函数 流程函数 字符串函数 常用函数: | 函数 | 功能 | | | | | CONCAT(s1, s2, ..., sn) | 字符串拼接,将s1, s2, ..., sn拼接成一个字符串 | | LOWER(str) | 将字符串全部转为小写 | | UPPER
阅读全文
摘要:DCL( 数据控制语言) 管理用户 查询用户: USER mysql; SELECT * FROM user; 创建用户: CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; 修改用户密码: ALTER USER '用户名'@'主机名' IDENTIFIED WI
阅读全文
摘要:数据查询语言 语法: SELECT 字段列表 FROM 表名字段 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后的条件列表 ORDER BY 排序字段列表 LIMIT 分页参数 基础查询 查询多个字段: SELECT 字段1, 字段2, 字段3, ... FROM 表名;
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 点击查看代码 class Soluti
阅读全文
摘要:DML(数据操作语言) 添加数据 指定字段: INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); 全部字段: INSERT INTO 表名 VALUES (值1, 值2, ...); 批量添加数据: INSERT INTO 表名 (字段名1,
阅读全文
摘要:数据定义语言 数据库操作 查询所有数据库: SHOW DATABASES; 查询当前数据库: SELECT DATABASE(); 创建数据库: CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ]
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/top-k-frequent-words 给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/last-stone-weight 有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/decode-string 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/backspace-string-compare 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。 注意:如果对空文本输入退格字符,文
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/bulls-and-cows 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/two-sum 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/longest-repeating-character-replacement 给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/find-all-anagrams-in-a-string 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列
阅读全文
摘要:1.Java 8 新特性 https://blog.csdn.net/qq_44769557/article/details/119910087 2.集合遍历时候可以增加删除元素么 for 循环可以,但是删除完集合向后移要将指针重写指向未遍历的元素 可以倒叙遍历或者 迭代器可以,必须用迭代器的 re
阅读全文
摘要:1.springboot 与 springcloud 的区别? https://blog.csdn.net/weixin_42315600/article/details/84134094 2.springboot 如何解决跨域问题? https://blog.csdn.net/fly910905/
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/unique-paths 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Fi
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/min-cost-climbing-stairs 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/climbing-stairs 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 点击查看代码 class Solution { pu
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/fibonacci-number 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1
阅读全文
摘要:演示 点击查看代码 public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(A49.class); con
阅读全文
摘要:点击查看代码 // 事件解耦例子 @Configuration public class A48_1 { public static void main(String[] args) { AnnotationConfigApplicationContext context = new Annotat
阅读全文
摘要:演示 点击查看代码 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(A47_1.class); DefaultListableBeanFactory beanFactory = c
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/add-two-numbers 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表
阅读全文
摘要:按类型装配的步骤 查看需要的类型是否为 Optional,是,则进行封装(非延迟),否则向下走 查看需要的类型是否为 ObjectFactory 或 ObjectProvider,是,则进行封装(延迟),否则向下走 查看需要的类型(成员或参数)上是否用 @Lazy 修饰,是,则返回代理,否则向下走
阅读全文
摘要:点击查看代码 ConfigurableApplicationContext context = SpringApplication.run(A45.class, args); Bean1 proxy = context.getBean(Bean1.class); /* 1.演示 spring 代理的
阅读全文
摘要:项目中,只需要加入以下依赖即可 在编译期扫描结束 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-indexer</artifactId> <optional>true</optional>
阅读全文
摘要:点击查看代码 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(A43.class); Bean1 bean1 = (Bean1) context.getBean("bean1");
阅读全文
摘要:条件装配的底层是本质上是 @Conditional 与 Condition,这两个注解。引入自动配置类时,期望满足一定条件才能被 Spring 管理,不满足则不管理,怎么做呢? 比如条件是【类路径下必须有 dataSource】这个 bean ,怎么做呢? 首先编写条件判断类,它实现 Conditi
阅读全文
摘要:AopAutoConfiguration Spring Boot 是利用了自动配置类来简化了 aop 相关配置 AOP 自动配置类为 org.springframework.boot.autoconfigure.aop.AopAutoConfiguration 可以通过 spring.aop.aut
阅读全文
摘要:Tomcat 基本结构 Server └───Service ├───Connector (协议, 端口) └───Engine └───Host(虚拟主机 localhost) ├───Context1 (应用1, 可以设置虚拟路径, / 即 url 起始路径; 项目磁盘路径, 即 docBase
阅读全文
摘要:阶段一:SpringApplication 构造 点击查看代码 构造源码: public SpringApplication(Class<?>... primarySources) { this(null, primarySources); } public SpringApplication(Re
阅读全文
摘要:步骤1:创建模块,区别在于打包方式选择 war 接下来勾选 Spring Web 支持 步骤2:编写控制器 @Controller public class MyController { @RequestMapping("/hello") public String abc() { System.o
阅读全文
摘要:如果是 linux 环境,用以下命令即可获取 spring boot 的骨架 pom.xml curl -G https://start.spring.io/pom.xml -d dependencies=web,mysql,mybatis -o pom.xml -d dependencies=相关
阅读全文
摘要:当浏览器发送一个请求 http://localhost:8080/hello 后,请求到达服务器,其处理流程是: 服务器提供了 DispatcherServlet,它使用的是标准 Servlet 技术 路径:默认映射路径为 /,即会匹配到所有请求 URL,可作为请求的统一入口,也被称之为前控制器 j
阅读全文
摘要:HandlerMapping 负责建立请求与控制器之间的映射关系 RequestMappingHandlerMapping (与 @RequestMapping 匹配) WelcomePageHandlerMapping (/) BeanNameUrlHandlerMapping (与 bean 的
阅读全文
摘要:我们知道 @ExceptionHandler 只能处理发生在 mvc 流程中的异常,例如控制器内、拦截器内,那么如果是 Filter 出现了异常,如何进行处理呢? 在 Spring Boot 中,是这么实现的: 因为内嵌了 Tomcat 容器,因此可以配置 Tomcat 的错误页面,Filter 与
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/minimum-cost-to-move-chips-to-the-same-position 有 n 个筹码。第 i 个筹码的位置是 position[i] 。 我们需要把所有筹码移到同一个位置。在一步
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/two-sum 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是
阅读全文
摘要:演示 与之前的 @ControllerAdvice 中增强类似,分为控制器类中的懒惰解析, 和 @ControllerAdvice 注解标注的配置类中的,ExceptionHandlerExceptionResolver 初始化解析 点击查看代码 public static void main(St
阅读全文
摘要:ExceptionHandlerExceptionResolver 代码参考 点击查看代码 public static void main(String[] args) throws NoSuchMethodException { ExceptionHandlerExceptionResolver
阅读全文
摘要:ResponseBodyAdvice 增强 ResponseBodyAdvice 增强 在整个 HandlerAdapter 调用过程中所处的位置 点击查看代码 @Configuration public class WebConfig { @ControllerAdvice //将所有返回值类型统
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/number-of-islands 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
阅读全文
摘要:演示 - MessageConverter 的作用 点击查看代码 private static void test4() throws IOException, HttpMediaTypeNotAcceptableException, NoSuchMethodException { MockHttp
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/flood-fill 有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr , sc 和 newColor 。你应
阅读全文
摘要:常见的返回值处理器演示 点击查看代码 /* 目标: 解析控制器方法的返回值 常见的返回值处理器 org.springframework.web.servlet.mvc.method.annotation.ModelAndViewMethodReturnValueHandler@4c9e38 org.
阅读全文
摘要:自动拆箱装箱可能导致空指针问题 如 返回值类型是 boolean,返回了一个 Boolean 类型 可以用 Boolean.TRUE.equals(返回结果)
阅读全文
摘要:** @ModelAttribute** 在整个 HandlerAdapter 调用过程中所处的位置 收获💡 RequestMappingHandlerAdapter 初始化时会解析 @ControllerAdvice 中的 @ModelAttribute 方法 RequestMappingHan
阅读全文
摘要:图1 classDiagram class ServletInvocableHandlerMethod { +invokeAndHandle(ServletWebRequest,ModelAndViewContainer) } HandlerMethod <|-- ServletInvocableH
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/validate-binary-search-tree 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/first-bad-version 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/binary-search 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 点击
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/binary-tree-level-order-traversal 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 点击查看代码 //递归 /** *
阅读全文
摘要:intern 锁对象 toString 后返回的是不同的 String 对象,需要用 intern 方法直接从常量池中调用字符串对象 synchronized (userId.toString().intern()) proxy 使用 @Transaction 注解开启事务,spring 创建代理对
阅读全文
摘要:准备 @InitBinder 准备 @InitBinder 在整个 HandlerAdapter 调用过程中所处的位置 sequenceDiagram participant adapter as HandlerAdapter participant bf as WebDataBinderFacto
阅读全文
摘要:底层第一套转换接口与实现 classDiagram Formatter --|> Printer Formatter --|> Parser class Converters { Set~GenericConverter~ } class Converter class ConversionServ
阅读全文
摘要:两种方法获取参数名 如果编译时添加了 -parameters 可以生成参数表, 反射时就可以拿到参数名 如果编译时添加了 -g 可以生成调试信息, 但分为两种情况 普通类, 会包含局部变量表, 用 asm 可以拿到参数名 接口, 不会包含局部变量表, 无法获得参数名 这也是 MyBatis 在实现
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/binary-tree-level-order-traversal 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 点击查看代码 示例 1: 输入:ro
阅读全文
摘要:来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/n-ary-tree-preorder-traversal 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null
阅读全文
摘要:1.LocalDateTime 获取当前时间 LocalDateTime.now() 获取当前时间毫秒值 LocalDateTime.now().toEpochSecond(ZoneOffset.UTC) 设置指定格式 LocalDateTime.now().format(DateTimeForma
阅读全文
摘要:初步了解 RequestMappingHandlerAdapter 的调用过程 控制器方法被封装为 HandlerMethod 准备对象绑定与类型转换 准备 ModelAndViewContainer 用来存储中间 Model 结果 解析每个参数值 点击查看代码 private static voi
阅读全文