自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 springboot通过AOP的方式打印请求参数

springboot通过AOP的方式打印请求参数

2022-09-01 09:40:45 261 1

原创 学习和使用RabbitMQ

学习和使用RabbitMQ

2022-08-19 15:25:27 512

原创 springboot、JPA整合shardingsphere实现读写分离和分表

springboot、JPA整合shardingsphere实现读写分离和分表

2022-06-30 19:04:34 737

原创 单机Centos7搭建mysql5.7主备/主从(docker)

单机Centos7 docker方式搭建Mysql5.7主从

2022-06-23 14:29:56 283

原创 自定义工具包上传至github中央库

自定义工具包上传至github中央库参考博客创建工具项目(基于maven)参考博客链接: 简单快速上传jar包到中央库(依赖于github).创建工具项目(基于maven)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2022-04-11 11:15:07 286

原创 MySQL自定义程序(方法)

MySQL自定义程序(方法)说明代码(说明见注释)使用该方法最后说明多活部署springboot应用,程序内有心跳机制,使用定时任务去更新表里面的系统的存活时间。代码(说明见注释)DROP PROCEDURE IF EXISTS updHealth;delimiter /endAll/CREATE PROCEDURE updHealth ( ) BEGIN-- 声明变量-- 异常标识 DECLARE flag int DEFAULT 0;-- 临时字段,中间结果使用 DECLARE

2021-02-26 16:53:10 301

原创 MySQL定时器

MySQL定时器说明代码(说明看注释)说明任务是每隔一小时执行一次,删除半年前的日志,包括日志备份表。代码(说明看注释)定时删除日志代码:sql定时任务相关代码(每1小时执行一次,启动时会执行一次,删除system_log和system_log_bak下超过180天):-- 自定义声明 /endAll/是结束,防止在命令行中,每行单独执行delimiter /endAll/DROP EVENT IF EXISTS deleteOldLog;CREATE EVENT IF NOT EXIST

2021-02-26 16:39:04 120

原创 MySQL触发器

MySQL触发器说明介绍编写举例说明触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器有利有弊,利在于在某些场景下使用非常便利,比如日志备份、状态修改等;弊在于使用不当容易造成性能问题甚至死锁。本篇简单介绍基础写法,利弊可根据使用场景、参考其他文档。介绍主要功能:1、在插入或更新数据之前对数据进行检查并验证删除和更新2、充当数据过滤器,在插入或更新之前修改超出范围的数据3、 修改 INSERT 、 UPDATE 和 DELETE 的行为方式4、对于不

2021-02-26 16:25:08 115

原创 springboot yml读取List、Map

springboot yml读取List、Mapyml配置文件内容配置类使用最后yml配置文件内容data: lists: - "001" - "002" maps: "[key1]": "value1" "[key2]": "value2"配置类@Configuration@ConfigurationProperties(prefix = "data")@Datapublic class DataListConfig { private Li

2021-02-25 19:37:33 1406 1

原创 springboot整合redisson使用redis集群做分布式锁

springboot整合redisson使用redis集群做分布式锁说明maven依赖Redisson配置yml配置client配置使用最后说明springboot集群部署时,定时任务存在多份,所以需要一个分布式锁来进行竞争,在zookeeper和redis之间选择,最后公司大佬磊哥说redis有个分布式锁的轮子redission,然后就去了解然后用了。单机redis和集群redis都可以使用maven依赖 <!-- https://mvnrepository.com/artifact/org

2021-02-25 17:19:00 1139 2

原创 HttpClient连接池设置

HttpClient连接池设置说明为什么 HttpClient 需要连接池HttpClient 连接池的配置说明在项目中用到httpclient,在性能压测的时候发现,达到一定的并发量的时候系统间的交互延迟会变高,最后定位发现问题出现http连接方面。主要解决措施是设置连接池的最大连接数和路由最大连接数,其余的可以设置超时时间等。为什么 HttpClient 需要连接池一次创建连接是一次 TCP 进行三次握手的操作,一次销毁连接是一次 TCP 进行四次挥手的操作。采用连接池技术管理连接,连接可以得到

2021-02-25 16:36:53 1646 1

原创 java sm3国密算法加密、验证工具类

java sm3国密算法加密、验证工具类说明maven依赖完整代码测试说明由于本人并不专于算法和密码学,所以如果发现工具类存在问题或者可优化地方,欢迎评论处提出。maven依赖<!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on --> <dependency> <groupId>org.bouncycastle</groupId

2021-02-25 15:08:12 10094 8

原创 java sm4国密算法 CBC模式 加解密工具类

java sm4国密算法 CBC模式 加解密工具类说明maven依赖生成密钥加密解密测试完整代码最后说明工具类最开始是参考这篇博客java sm4国密算法加密、解密,但是该篇博客使用的是EBC模式,所以参考其他文章改成了CBC模式。由于本人并不专于算法和密码学,所以如果发现工具类存在问题或者可优化地方,欢迎评论处提出。maven依赖 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on -->

2021-02-25 14:34:30 10553 15

原创 springboot2.3 @Validated失效问题

最新的一个项目用到了springboot2.3.1,依旧按照以前的写法,引入依赖,Bean中使用@NotNull、@NotBlank等,最后却失效了,尝试了很多方法,如替换为@Valid、两者结合使用等,均不起作用,最后Google找到了原因原来,springboot在2.3之后,spring-boot-starter-web的依赖项已经去除了validate依赖<dependency> <groupId>org.hibernate.validator&l.

2020-07-15 17:44:07 9262 13

原创 解决.gitignore不生效或者已提交相关文件的问题

使用git经常会遇到想要不提交某种特殊文件,但是最终还是被提交了,这种一般会有两种情况:一、规则配置错误这个时候可以参照git自动产生的gitignore文件里面已存在的规则进行添加,规则比较简单,也可以网上查询。二、添加规则前已经提交过改类型的文件了这种情况需要现将本地的缓存进行清理,使文件变成untracked状态,使用命令git rm -r --cached .然后再进行add和commit以及push操作git add .git commit -m"update.

2020-07-09 14:42:23 591

原创 全局统一异常处理无法拦截filter中catch的异常

一、背景系统定义了全局统一异常处理,使用了@RestControllerAdvice注解的方式。@Slf4j@RestControllerAdvice@SuppressWarnings("unchecked")public class GlobalExceptionHandlerAdvice { @ExceptionHandler({MethodArgumentNotVa...

2020-04-21 11:48:52 3572 6

原创 KMP算法(四):Sunday算法 Java实现

一、Sunday算法思想备注:因为Sunday理解起来比较简单,就直接用参考的文章内容了。链接:https://www.cnblogs.com/sunsky303/p/11693792.htmlSunday算法是从前往后匹配,在匹配失败时关注的是主串中参加匹配的最末位字符的下一位字符。如果该字符没有在模式串中出现则直接跳过,即移动位数 = 模式串长度 + 1;否则,其移动位数 = ...

2020-04-08 19:40:10 532

原创 KMP算法(三):算法改进

KMP算法(一)见链接:https://blog.csdn.net/not_say/article/details/105291946一、KMP算法存在的缺陷及改良:这里直接将《大话数据结构》里面的说明截图来用了,因为有画图,说明的比较清楚:public static int[] getNextVal(String son) { int i = 0, j =...

2020-04-08 18:09:05 759

原创 git pull仓库报错:refusing to merge unrelated histories

一、问题出现:本地新建项目并编写代码,然后在github上新建仓库(初始化了readme),想将本地代码上传一些列操作如下:git initgit remote add xxx urlgit add .git commit -m"init"git pull xxx master 此时就出现了报错:refusing to merge unrelated histori...

2020-04-07 16:47:38 244

原创 IDEA引入JDK/jar包无效、java 文件灰色右下角橙色java图标显示等问题解决办法

一、引入jdk/jar包无效IDEA有时候会出现引入jdk无效的情况,import灰色、代码爆红,这是因为idea检测发现包并没有导入进来。1、如果是普通java项目,jdk等都配置好还是这样的话,可以通过“清除缓存并重启的方式解决”,如下图2、如果是maven项目,则可以通过reimport、重启idea等方式,多次之后还是不行,可以去检查maven本地仓库里面的jar包是不...

2020-04-07 16:40:20 6446 3

原创 KMP算法(二):另一种求解思路(确定有限状态自动机、动态规划)

一、简介在上一篇KMP算法中已经介绍了KMP使用next数组进行求解的方法(https://blog.csdn.net/not_say/article/details/105291946),这一篇将讲述另外一种求解思路--利用确定有限状态自动机和动态规划的思路进行求解。主要是参考了知乎一个专栏的一篇文章,内容非常详细,配有动态图,建议大家去看这篇文章,我自己写的这篇基本来源于它,然后是为了...

2020-04-07 13:39:35 979

原创 Centos服务器环境JavaWeb搭建

Centos服务器环境JavaWeb搭建查看centos版本安装jdk(本文用1.8)查询yum中存在的jdk版本安装jdk安装docker环境安装前准备查看仓库中docker版本,选择版本安装后续内容部署Springboot项目查看centos版本lsb_release -a安装jdk(本文用1.8)查询yum中存在的jdk版本yum search java|grep jdk有...

2020-04-03 16:10:53 164

原创 KMP算法(一):正常逻辑求解(next数组)

一、KMP是什么KMP算法是为了解决字符串匹配效率而提出的,提出者为D.E.Knuth、J,H,Morris 和 V.R.Pratt三位大牛,故称为“KMP”算法。二、暴力求解算法1、题目:假设一个父字符串是father,子字符串是son,在father中查找son,如果存在则返回son在father中的起始索引,不存在则返回-1。2、最简单的解法就是使用循环,挨个字符比较,如果...

2020-04-03 14:11:20 577

原创 使用supervisor管理springboot项目

一、服务器配置介绍1、系统:centos72、JDK:java8二、安装supervisor本文使用yum方式,其他系统可自行查询合适的安装工具yum install supervisor三、supervisor配置文件1、supervisor配置文件在 /etc/superviosr/目录下...

2020-03-31 14:44:55 2302

原创 Spring Security源码分析

参考链接(主要参考此系列文章,截图和补充总结等由debug程序、阅读源码得出)https://juejin.im/post/5d8d66aee51d45783f5aa49e一、三句话解释框架原理1、整个框架的核心是一个过滤器,这个过滤器名字叫springSecurityFilterChain类型是FilterChainProxy2、核心过滤器里面是过滤器链(列表),过滤器链的...

2020-03-31 12:56:20 811

原创 知识点(Java并发编程实战)

读书记录的一些知识点和部分其他资料的参考和理解,细节内容请参考其他资料线程安全性什么是线程安全性原子性竞态条件示例:延迟初始化中的竞争态条件复合操作加锁机制内置锁[(++Synchronized的使用++)](https://blog.csdn.net/zjy15203167987/article/details/82531772?utm_source=copy)重入用锁来保护状态活跃性与性能对象...

2020-03-31 11:28:54 276

原创 linux服务器运维

mac使用ssha命令mac切换root :sudo -i查看ssha列表: ssha -l进入服务器:ssha -s indexscp命令scp /Users/daishiyu/Documents/files/临时文件/临时记录.txt root@ip:/home/file/test用ssh直接连接服务器ssh -p 端口号 服务器用户名@iplinux查看N条日志日志...

2020-03-03 15:35:06 282

原创 修改容器内容并发布为新的镜像

一、拉取基础需要的基础镜像docker pull image二、使用镜像启动容器(以本次实验为例)docker run -p 80:9090 -it notsay/springboot-demo:20200302 /bin/bash三、在镜像容器内进行修改本次实验是使用docker cp命令复制本地文件进容器docker cp ~/docker/demo....

2020-03-02 19:00:38 694

原创 docker构建第一个jdk镜像并上传至dockerHub

一、准备好jdk文件包(本文使用的是jdk-8u231-linux-x64.tar)、centos镜像(docker pull centos:7)二、在用户目录~下建一个文件夹 docker-my 并且跳到该目录下 :mkdir ~/docker&& cd ~/docker;三、将jdk的文件包复制到~/docker目录下四、在docker目录下创建...

2020-03-02 17:38:39 658

原创 配置maven使用阿里云仓库

maven使用阿里云仓库方法一:在项目的pom.xml里直接加入方法二:在setting.xml的mirrors里加入方法一:在项目的pom.xml里直接加入 <repository> <id>maven-ali</id> <url>http://maven.aliyun.com/nexus/content...

2020-01-01 17:43:29 288

原创 最新版本idea导入Spring5源码出错问题

关于最新版本idea导入Spring5源码出错问题原各软件版本:IDEA-2019.2.4 JDK-1.8.0_191, gradle-6.0.1 spring-5.1.x解决方式:更换gradle、Spring源码等版本两天半之后。。。最终降低IDEA版本,改回了2018.2.8,一路顺畅最终各软件版本:IDEA-20198.2.8 JDK-1.8.0_191, gradle-5.6.3 spr...

2019-11-27 14:05:13 857

原创 Java设计模式

设计模式-- from 大话设计模式 & HeadFirst设计模式第一部分:接口型模式引入ISP接口和委托的区别一、适配器模式描述类适配器对象适配器适配器模式的几个要素第一部分:接口型模式引入在系统的设计时常常遇到这样的问题:类Client的实例instanceClient希望使用另一个对象instanceX提供的服务service,但是设计时,我们并不能确定对象instanceX...

2019-07-01 15:42:46 88

原创 工作问题记录

工作问题杂记--个人笔记博客说明springboot 打印查看transcation相关内容(使用jpa)javax.persistence.version(@Version注解)idea在debug模式下,对实体操作时会调用其属性的get方法。entityManager.clear()和entityManager.flush()@JsonIgnore和@JSONField(serialize =...

2018-12-05 22:43:52 1038

原创 Java小知识点杂记

JAVA杂记--个人笔记内部类方法内部类匿名内部类比较字符串和变量是否相等自定义可变参数方法更改器和访问器Collections.sort(可自定义,可用Lambda表达式)Java1.8 HashMapJava1.8 ConcurrentHashMapJava1.8 内存机制事务机制#博客说明此篇博客用来记录工作、学习过程中遇到的比较杂乱的小知识点。如果有侵权的情况请与我联系,我会及时删除或...

2018-11-20 21:17:35 145

原创 Java基础(一)

JAVA基础--个人笔记博客说明JAVA四大基础特性一. **继承** :二.封装:三.继承:四.多态static和final关键字static关键字:final关键字:博客说明此篇博客用于记录一些java的小的知识点,包括以前书上学到的、自己笔记上记录的、网上看到的…知识点较为繁杂,来源也很多样。所以如果有侵权的情况请与我联系,我会及时删除或提供出处。由于是个人的小笔记,所以会不时更新,有不...

2018-11-16 20:46:35 141

原创 git rebase -i 中edit和fixup的简单使用

一、edit的使用1、当在某个分支上面存在多个commit,但是又必须在之前的commit进行修改的时候,可以使用edit来对旧的commit进行修改。将改动分别提交为两个commit两次commit的test文件分别是这样子的:2、使用git log查看commit 历史日志信息红色线标注的两个commit是刚刚提交的,蓝色线标注的是此分支依赖的分支的最近的...

2018-08-29 13:41:00 11221 2

原创 Struts2的Action向JSP传输List集合并且将数据显示在页面上

1、当类型是List&lt;String&gt;时 Action中代码:List&lt;String&gt; list = new ArrayList&lt;String&gt;(); list.add("zhangsan"); list.add("lisi"); list.add("wangwu"); ..

2016-07-08 19:29:15 18620 3

java并发编程高清pdf

csdn上面我下了好几个java并发编程第二版的pdf,都是复印版,效果很差,有的地方一抹黑,所以其他地方找了较为高清的版本,欢迎大家下载~

2018-03-19

shiro视频教程(网盘下载,含demo)

shiro是一个轻量级、较为主流的一个权限控制框架,本教程为视频教程,且含有两个demo,欢迎大家学习~

2018-03-08

SpringMVC教学视频(包括整合spring和mybatis)网盘

是我本人之前学习的一个视频教程,讲解比较细致,最后还有springMVC+spring+mybatis整合,非常适合大家学习。

2018-03-08

空空如也

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

TA关注的人

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