LeetCode递增顺序查找树
题目详情题目详情链接 一、解题思路将原树进行中序遍历将树中的节点的非空值放入到一个 list 集合中,创建一棵新树然后通过递归的方式将不断生成的新的右子树直到集合遍历完。 二、使用步骤1231.对原树进行中序遍历。将非空树的值一次放入到List集合中。2.创建一个函数用于对集合进行遍历,将每次遍历得到的值用来创建当前树的值。 在集合遍历完之前,继续递归该函数,将传递的实参改为当前树的右子树。 三、代码12345678910111213141516171819202122232425262728293031323334class Solution { public TreeNode increasingBST(TreeNode root) { if(root!=null){ ArrayList array=new ArrayList<>(); Solution s=new Solution(); s.inOrderTraversal(root,array); ...
SpringSecurity中执行表单登录认证时无法执行loadUserByUsername方法
项目场景:执行表单登录认证时配置了 loginProcessUrl 和 loginPage。但是执行登录认证时并不执行 UserDetailsService 接口的 loadByUsername 方法。导致认证失败。 问题描述:1. 表单登录页面 2. 配置类 3. loadUserByUsername 方法 所有都配置好了,但是进行登录认证的时候还是认证失败跳回登录页。并且控制台未打印 loadUserByUsername 方法中的日志。 原因分析:因此判断是 loginProcessUrl 方法的问题。进入 loginProcessUrl 方法内部发现。关键信息登录表单申请方式必须为 post 才行,springsecurity 才会进行登录认证。 解决方案:将登录表单中提交方法更改为 post 方式即可
无题
host 文件为只读,取消 host 文件只读属性,并且为所有用户增加写入和修改权限 系统 hosts 文件无法修改需要添加文件进行修改 杀毒软件拦截 host 文件修改,建议退出杀毒软件尝试
Mysql逻辑架构
架构剖析请求流程 Mysql 架构 1. 连接层1. Connection pool作用: 客户端与服务器建立 TCP 连接 查询用户对应权限,判定用户能够进行哪些操作 控制连接个数和连接的复用 2. 服务层1. Sql 接口 接收 SQL 命令 返回查询结果 2. 解析器 解析 SQL 语句 生成解析树 验证用户权限 3. 优化器 生成执行计划 明确索引使用 采用选取-投影-连接进行查询 4. 查询缓存 记录查询结果 key-value 形式存储 引擎层 数据存储提取 维护底层数据执行
Java8新特性
Lambda 表达式本质:作为函数式接口的实例 格式->:lambda 操作符() ->右边:lambda 形参列表(抽象方法的形参列表) ->左边:lambda 体(抽象方法的方法体) 使用格式lambda 表达式六种使用情况: 形参类型可以省略,如果参数只有一个,可省小括号 方法体只有一条语句,可省略大括号(语句为 return 语句时,可省略 return 和大括号关键字) 123456789101112131415161718192021222324252627282930313233343536//语法格式一:无参、无返回值Runnable runnable = () -> System.out.println("123");//语法格式二:有一个参数,无返回值Consumer<String> s1 = (String s) -> { System.out.println(s);};s1.accept("123");//语法格式三:数据类型可以省略,编译器可以推断得出(类 ...








