自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(226)
  • 收藏
  • 关注

原创 @Value注解获取不到配置文件的值

碰到过三种情况导致@Value获取不到配置值。

2023-10-10 17:12:22 413

原创 Hutool的BeanUtil.copyProperties() 的改进详情

根据自动属性映射的规则,"firstName"将会被映射到"name"属性中,并进行属性值的复制,"age"属性名完全匹配,也进行了属性值的复制。总结起来,当源对象和目标对象的属性名不一致时,Hutool的BeanUtil.copyProperties()方法会尝试根据一定的规则进行自动的属性映射。总结起来,如果源对象的属性在目标对象中不存在,Hutool的BeanUtil.copyProperties()方法会跳过该属性,不会对目标对象产生影响。如果目标对象的属性为只读或只写,无法进行属性值的复制。

2023-09-07 16:00:31 2428

原创 Spring Cloud Stream

1.binder2.binging3.Message4.个性化使用方法5.统一分组消费机制

2023-07-26 10:19:20 328

原创 Rocket-Spring Cloud Stream

1.微服务中会经常使用消息中间件,通过消息中间件在服务与服务之间传递消息,例如RabbitMQ、Kafka和RocketMQ,无论使用哪一种消息中间件和服务之间都有一点耦合性,这个耦合性指的是原来使用RabbitMQ,现在要替换为RocketMQ,我们的微服务改动比较大,因为两款消息中间件有一些区别,使用Spring Cloud Stream来整合我们的消息中间件,这样就可以降低微服务和消息中间件的耦合性,做到轻松在不同消息中间件之间切换,然而Spring Cloud Stream官方整合了消息中间件,Sp

2023-07-25 14:46:57 356

原创 Vue01

watch 与 computed 对比。在这个案例上计算属性比监听属性更方便。姓改变的时候,全名延迟一秒钟做出改变。②data 的两种写法。监视watch的简写。

2023-02-18 20:19:11 74

原创 Mybatis 之useGeneratedKeys注意点

设置了useGeneratedKeys = true的情况下,执行insert(或者update)后,会返回主键ID,那么我在问题中上面OrderServiceImpl.java中输出两个信息里面, 第一个输出是执行状态,第二是主键ID。那么在执行完createOrder方法后返回的到底是什么?所以说第一个打印返回的是影响行数。

2023-02-17 12:11:57 725 1

转载 详细解决zookeeper启动占用8080端口方法

1.在使用zookeeper 3.6之后的版本,开启服务器,zk会自动占用8080端口,而后端服务器大部分都需要使用8080端口,因此需要zk的配置文件即可。3.重启zk服务器,即可。

2023-01-09 16:54:37 3933 1

原创 十大经典排序算法

冒泡排序排序(假设从小到大)的步骤如下:选择排序排序的步骤如下:插入排序选择排序是每次选择出最小的放到已经排好的数组后面,而插入排序是依次选择一个元素,插入到前面已经排好序的数组中间,确保它处于正确的位置,当然,这是需要已经排好的顺序数组不断移动。步骤描述如下:步骤描述如下:希尔排序希尔排序(Shell’s Sort)又称“缩小增量排序”(Diminishing Increment Sort),是插入排序的一种更高效的改进版本,同时该算法是首次冲破 O(n^2n 2 ) 的算法之一希尔排序基本步骤

2022-07-04 14:01:10 180

原创 vue02

绑定class 效果绑定css 样式

2022-06-29 22:38:22 79

原创 查找与搜索算法

二分查找寻找左侧边界的二分搜索两数之和如果有一个整数数组 nums 和一个目标值 target,如何在该数组中找出和为目标值的那两个整数,并返回他们的数组下标,比如下面的例子:nums[] = { 5, 12, 43, 34, 6, 23}targrt = 35二维数组中的查找朋友圈现在假设有 n 个人,并且有 m 对好友关系,如果甲和乙是朋友,并且甲和丙也是朋友,那么我们可以理解为乙和丙的朋友圈可以合并,也就是属于一个圈子(朋友圈)的人。然后我们需要判断里面到底有多少个朋友圈?一个人自己,不与

2022-06-24 15:33:03 176

原创 动态规划算法

简单来说,就是把问题分成多个阶段,每个阶段都符合一个式子(状态转移),后面阶段的状态(结果)一般可以由前面阶段的状态(结果)转移而来。找出状态转移方程,动态规划已经成功了 90%。使用动态规划求解时,最关键的是找出状态转移方程,而想要找出状态转移方程,首先要对问题状态有清晰的定义。一般来说,动态规划求解主要包括以下步骤:斐波那契数列优化之后跳台阶小时候,我们会在阶梯上跳,现在我们玩一个游戏,一次可以跳上 1 级台阶,也可以跳上 2 级…… 假设也可以跳上 n 级。求我们跳上一个 n 级的台阶总共有多少

2022-06-23 10:15:14 521

原创 先进后出之堆栈算法

我们都知道 Java 里面其实已经实现了栈结构,使用 Stack stack = new Stack(); 就可以创建出一个堆栈。但是如果希望手动实现一个简单的堆栈,你定义一个链表节点,节点里面包含数据,以及下一个节点的引用,定义方法如下:使用两个栈实现队列实现快速获取最小数的栈果只使用一个栈,明显是无法实现上面要求的,那我们不妨使用空间来换取时间的做法,使用两个栈,一个存储所有元素的 datas stack,另一个存储最小值 d 的 mins stack。括号匹配对不对平时,我们写代码的时..

2022-06-20 13:14:43 548

原创 树结构二叉树

二叉树使用前序遍历:非递归实现,应该怎么做呢?我们可以借助栈结构实现,先将根结点放入栈中,然后循环以下操作直到栈为空:二叉树使用中序遍历:中序遍历的非递归做法,和前序有点类似,同样借助堆栈。大致思路为,如果当前根结点不为空或者堆栈不为空,执行下面的循环:如果当前根结点不为空,执行下面循环:二叉树使用后序遍历递归解法递归的写法与前面的前序中序区别不大,只是递归的时候顺序不一样,与前面的类似:二叉树使用后序非递归算法二叉树层次遍历根据两种遍历顺序,重构二叉树苹果树的高度(求二叉树的高度)

2022-06-19 14:07:08 105

原创 数组和链表的常用算法

问题描述著名的约瑟夫问题:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3… 这样依次报数),数到 m 的 士兵会被淘汰出列,之后的士兵再从 1 开始报数。直到最后剩下一个士兵,求这个士兵的编号。生成滑动窗口最大值数组小明同学的老师给了一道题,假设给定一个整形数组 nums 和一个大小为 k 的窗口,k 小于 nums 的长度,窗口从数组的最左边,每次滑动一个数,一直到最右边,返回每次滑动窗口中的最大值的数组。暴力法:双端队列解法找链表的倒数 k 个

2022-06-13 15:57:56 204 1

原创 字符串操作算法

统计其中数字字符出现的次数。替换空格为指定字符串3.翻转句子里的单词4. 寻找最长回文子串5.字符串转整数6.拼接字符串找出最大数7.旋转词之 KMP 算法KMP1.先得到字串的部分匹配表2.使用部分匹配表完成KMP匹配Rabin-karp 算法字符统计给定一个长度为 n 的字符串 S,还有一个数字 L,统计长度大于等于 L 的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的...

2022-06-10 12:17:44 120

原创 关于Jackson的简单使用

依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency>public class MyValue { public Stri

2022-05-18 18:08:33 330

原创 SpringBoot 使用RestTemplate

添加依赖配置 RestTemplate 配置类package com.example.cloudesb01.config;import org.apache.http.client.HttpClient;import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;impo..

2022-05-18 17:17:06 734

原创 Sql Server 02

1. 事务2.索引3.视图4.游标

2022-05-15 22:14:52 112

原创 Sql Server高级部分

1.变量2.运算符 EXISTSIF ELSE; CASE WHEN ;WHILE分页

2022-05-15 19:04:01 113

原创 Spring 整合Mybatis 2种方式

1.根据xml 方式整合pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.9</version> </dependency>

2022-05-05 19:18:56 216

原创 Oracle的用户密码忘了 Oracle用SQL Plus创建数据库表空间

1.(1)在cmd页面中运行“sqlplus”命令,进入sqlplus环境。(2)在输入用户名中运行“/as sysdba”命令,以操作系统权限认证的oracle sys管理员登陆,意味着此时用户拥有最高的权限。(3) 运行“alter user 用户名 identified by 密码;”命令,来为用户修改密码。其中,用户名是你要想修改或忘记密码的那个用户名称,而密码则输入你想要设定的密码。2.1.在电脑左下角点击“开始”,然后输入“sql plus”,选择运行sql plus程序(登录身份:指

2022-04-23 11:30:18 3269

原创 Leetcode二叉树专题

104. 二叉树的最大深度用dfs 遍历一遍二叉树得出答案/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, T

2022-04-06 16:53:27 119

原创 蓝桥杯 2020年省赛真题

B.纪念日利用java 8 中的日期类来解答ChronoUnit.DAYS.between()算出一共有多少天,然后转换为分钟数package com.lanqiao2020;import java.time.LocalDate;import java.time.temporal.ChronoUnit;public class BMain { public static void main(String[] args) { LocalDate per = LocalDate.of(19

2022-04-04 15:31:04 222

原创 SpringBoot中参数校验 Validation

数据校验很重要,在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通过一些 HTTP 工具直接向后端请求一些违法数据。虽然我们通过 if/else 语句对请求的每一个参数一一校验。但是这样写起来太麻烦了,而且破坏了单一职责原则。所以今天我们来看一下 Spring Boot validation 。首先我们先来看两个注解@Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上; 用在方法入参上无法单独提供嵌套验证功能;能配合嵌套

2022-03-30 16:48:18 1615

原创 SpringBoot 处理异常的几种方法

1. 使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常①新建异常实体类public class ErrorResponse { private String message; private String errorTypeName; public ErrorResponse(Exception e) { this(e.getClass().getName(), e.getMessage()); }

2022-03-30 16:25:03 4472

原创 Java 的大数操作BigDecimal BigInteger

可以使用BigInteger操作大整数可以使用BigDecimal指定小数的保留位数正常情况下一个整数最多只能放在long类型之中,但是如果现在有如下的一个数1111111111111111111111111111111111111111111111111根本就是无法保存的,所以为了解决这样的问题,在java中引入了两个大数的操作类:BigInteger import java.math.BigInteger; public class BigIntegerDemo1 { public

2022-03-29 16:53:56 236

原创 关于Java 8 日期处理

现有的类(例如java.util.Date和SimpleDateFormatter)是非线程安全的,从而导致用户潜在的并发问题,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。【LocalDate】①Java 8 中的 LocalDate 用于表示当天日期。和java.util.Date不同,它只有日期,不包含时间。import java.ti

2022-03-28 15:13:36 469

原创 2021第十二届蓝桥杯 java B组

B.卡片首先看懂题目要求,从2021 个 0~9 中组合,问一共能拼到多少?我们用一个数组来表示0~9 的数字个数,每次用到一个数字都相应的减去-1;直到count=-1;package com.lanqiao2021;import java.util.Arrays;public class BMain { static int[] arr=new int[10]; public static void main(String[] args) { Arrays.fill(arr, 2

2022-03-27 17:13:10 2161

原创 蓝桥杯2013年第四届真题-核桃的数量

这题就是变向地求最小公倍数,因为这样才能 各组平分核桃 。最大公因数和最小公倍数的相关性质:两数的乘积除以最大公因数就是最小公倍数我们用辗转相除法来求最大公倍数,其方法是用较大的数除以较小的数,上面较小的除数和得出的余数构成新的一对数,继续做上面的除法,直到出现能够整除的两个数,其中较小的数(即除数)就是最大公约数。package com.lanqiao2013;import java.util.Scanner;public class HeTaoDemo { public static v

2022-03-24 20:33:47 2310

原创 设计模式---代理模式

什么是代理?

2022-03-22 09:28:25 96

原创 设计模式---单例模式

定义:保证一个类中只有一个实例,保证提供一个全局访问点。1.懒汉模式2.饿汉模式

2022-03-21 17:24:58 155

原创 蓝桥杯2013年第四届真题-买不到的数目

动态规划法package com.lanqiao2013;import java.util.Arrays;import java.util.Scanner;public class T1427 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); int m = scan.nextInt(); int n= scan.nextInt(); int max=Math.max(

2022-03-20 18:03:53 333

原创 关于Fork/Join框架

Fork/Join框架是Java7提供的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。使用工作窃取(work-stealing)算法,主要用于实现“分而治之”。public class ForkJoinTaskExample extends RecursiveTask<Integer> { public static final int threshold = 2; private int start.

2022-03-18 21:16:48 65

原创 Callable 接口实现java 的多线程

java 中创建多线程最常见的是继承Thread 的子类重写run() 方法,还有就是实现Runnable 接口我们最好使用实现了Runnable 接口的方法原因有两点:①因为java 的单继承的特点,所以说使用第一种方法不能继承其他父类了②采用接口的方式便于实现数据共享,线程的启动需要Thread类的start方法,如果采用继承的方式每次新建一个线程时,每个新建线程的数据都会单独的存在线程内存中,这样每个线程会单独的操作自己线程的数据,不能更好的实现线程之间的数据共享)如果我们想要我们的线程有返回

2022-03-18 20:32:22 2214

原创 蓝桥杯2013年第四届真题-幸运数

从3开始,找(数组下标+1)%3==0 的数字 ,start: 幸运数字的下标; a[start] 幸运数字,然后找处符合条件的(然所有能被a[start]整除的序号位置的数删去)保留啥也不动,不符合条件的如果前面有符合的前移。package com.lanqiao2013;import java.util.Scanner;public class LuckyNumber { public static void main(String[] args) { Scanner scan=...

2022-03-18 16:26:16 263

原创 蓝桥杯2013年第四届真题-格子刷油漆

思路:对于题目给出的几个行走规则,走的方式有很多;但是以某个格子为出发点的方式固定。将整个矩形刷完,我们的起点主要分为以下两大类:1.从四个顶点之一出发2.从中间某个点出发1.从四个顶点之一出发①第一步走同一列的另一个格子,然后再走下一列。接着重复这个过程。如下图所示:假设从顶点A出发,那么第一步没得选,只能走向B;接着在B点时,此时就有两种选择方案,要么走向C,要么走向D。假设走向了D,那么此时D点就只能选C,接着在C点时,其又可以选择E或F……然后重复上面这个过程,直到最终走到矩形的..

2022-03-17 21:07:22 353

原创 蓝桥杯2013年第四届真题-打印十字图

历届试题 打印十字图时间限制:1.0s 内存限制:256.0MB问题描述小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$.......$...$$.$$$.$$$$$.$$$.$$.$...$...$...$.$$.$.$$$.$.$$$.$.$$.$.$...$...$.$.$$.$.$.$$$$$.$.$.$$.$.$...$...$.$.$

2022-03-16 16:29:31 121

原创 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 Offer 68 - II. 二叉树的最近公共祖先

①递归法根据二叉搜索树的性质,判断两个节点p,q 是否在root 的同一侧,如果在的话说明p,q的相同父节点是root 的子节点;如果判断p,q 在root 的异侧那么就返回根节点root./** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val

2022-03-15 09:47:52 400

原创 剑指 Offer 67. 把字符串转换成整数

先判断第一个字符是‘+’ 还是‘-’ ,如果都不是那么从头开始遍历字符数组,如果发现不是数字那么就break,返回最终的res;如果是数字那么就判断他是否溢出,返回相应的结果。如果全都正常的话,就用res*10+arr[i].class Solution { public int strToInt(String str) { char[] cArr= str.trim().toCharArray(); int n=cArr.length; if(n=

2022-03-14 20:42:44 196

原创 剑指 Offer 66. 构建乘积数组

用动态规划算法利用两次for循环计算出上三角和下三角的乘积之和。class Solution { public int[] constructArr(int[] a) { int n=a.length; if(n==0) return new int[]{}; int[]b=new int[n]; b[0]=1; int temp=1; for(int i=1;i<n;i++){

2022-03-14 17:22:48 1201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除