自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lh87270202的博客

厚积薄发,笨鸟先飞

  • 博客(193)
  • 资源 (2)
  • 收藏
  • 关注

原创 mysql锁-这条sql加了哪些锁

InnoDB 存储引擎中的行锁的加锁规则。

2024-02-26 14:24:45 1134 1

原创 设计模式3-行为模式-责任链模式

每个链需要处理的逻辑,有一个统一的方法,这样便于统一调用,可以继承一个公共的抽象类。

2024-02-23 14:51:08 491

原创 Jmemter

有时候需要自己观察某些接口在一定并发下处理能力如果,那么Jmeter是一个很好的工具。我所需要测试的接口是http接口,通过postman就可以发起请求,但postman单笔请求太慢,需要持续给接口一定压力,那么需要用Jmeter来起多个线程去并发请求。

2024-01-16 15:02:34 388

原创 idea设置编辑器背景颜色

在File->Settings->Editor->Color Scheme->General豆沙绿:R:199, G: 237, B:204。

2024-01-16 14:21:46 985

原创 Couldn‘t check the working tree for unmerged files because of an error. unsafe repository

比如重装系统后,D中的git项目,重新再拉取的时候,报如下错误。到项目 所以目 录打开 git bash,

2023-12-07 11:22:35 291

原创 spring-boot是否还和spring mvc一样存在父子容器

初始化web父容器对象,注册ContextLoaderListener到servletContext自定义了一个勾子方法,这个类定义了配置扫描类。

2023-07-28 14:52:29 404

原创 spring boot--自动化注入组件原理、内嵌tomcat-1

前言我们知道开发spring boot项目,在启动类上添加注解@SpringBootApplication ,然后引入要自动注入的组件依赖,然后现application.properties中加上相应配置就可以自动注入这个组件,那么下面看看自动注入组件是如何实现的一、@SpringBootApplication 注解1、查看SpringBootApplication 类如下:@Target...

2023-07-27 15:51:54 620

原创 spring boot ValidationAutoConfiguration自动注入MethodValidationPostProcessor类导致bean提前被初始化

最近改一些项目,发现日志平凡的报虽然报了这些错,但目前对项目并没有什么影响,但还是要看下为什么会有这些问题。先弄明白这个错是什么意思:名字叫RegistryConfig这个类型是这个bean 不能合法被所有BeanPostProcessors 处理,比如不能合法的被自动代理。

2023-07-25 18:23:48 283

原创 当用AopContext.currentProxy()方式调用@Asyn注解的方法,发现不起作用了

遇到到平常一些spring相关调用错误

2023-07-14 18:18:51 510

原创 开发中从生产库导入测试数据的一些记录

做开发的可能常常会自测一些功能,而测试环境的数据可能不是那么好生成,也不是很完善,所以需要从生产库导入一些数据。前提是你可以将生产库的数据导出到txt。

2023-07-14 08:46:35 186

原创 forticlient vpn从安装到连接遇到的一些问题(The server you want to connect to requests identification)

Fortinet-The server you want to connect to requests identification

2023-07-08 09:46:52 4779

原创 Java中泛型的?和T的区别

关于java泛型中的?和T的区别之前一直停留在一些概念上,而并没有真正明白到底什么时候用?,什么时候用T。并且之前虽然有写过抽象类,但一直用的是T、Q,没有用过?,所以一直不明白?到底怎么个用法,什么时候用。但在这里还是得再提下T?的概念。

2023-06-08 17:27:09 2817

原创 由jar包冲突导致的logback日志不输出

最近升级一个老项目,发面日志没有按照预期的生成。

2023-05-30 14:13:22 2954

原创 关于用quartz手动创建job时,如何将job交给spring管理

最近盘点一些老项目,在没有用一些分布式任务框架前,一般用quartz来实现定时任务,如果想让定时任务corn表达式可修改,那么必定会动态的从数据库中读取corn表达式,并动态修改。

2023-05-11 15:18:56 947 2

原创 elastic-job源码分析之分片算法应用

elastic-job版本2.1.5如果大部分应用分片数都是1,如果用默认的分片算法,那么所有任务都会分配到 Ip 最小的那个节点上,这样会导致严重的负载不均衡。好在elastic-job提供了3种分片算法。

2023-02-08 14:19:55 647

原创 elastic-job源码分析

elastic-job源码分析

2022-10-11 15:33:57 1404

原创 redis-05-redis发布订阅功能

一、pubsub底层数据结构Redis中的发布和订阅功能允许服务器向指定的频道发送消息,以及客户端可以订阅感兴趣的频道来接收消息。发布和订阅功能的实现主要由如下几个命令实现:publish :用于服务器向指定的频道发送消息,格式为:publish channel messagesubscribe:用于客户端订阅服务器指定具体名字的频道,格式为: subscribe channel_namepsubscribe:用于客户端订阅服务器指定匹配模式的频道,格式为:psubscribe channel_a

2022-01-20 20:10:16 1776

原创 redis-03-性能优化

1、redis慢查询分析2、慢查询阈值设置(默认10ms)1),动态设置6379:> config set slowlog-log-slower-than 10000 //10毫秒使用config set完后,若想将配置持久化保存到redis.conf,要执行config rewrite2),redis.conf修改:找到slowlog-log-slower-than 10000...

2022-01-20 14:23:31 346

原创 redis-基本概念01

10w/s1、机器有关2、c3、内存4、单线程二、redis特性三、redis使用场景1、缓存数据库2、排行榜3、计数器应用4、社交网络5、消息队列五、redis配置、启动、操作、关闭一、redis基本通讯模型执行过程:发送指令-〉执行命令-〉返回结果执行命令:单线程执行,所有命令进入队列,按顺序执行单线程快原因:纯内存访问, 单线程避免线程切换和竞争产生资源消...

2022-01-20 14:23:04 285 1

原创 redis-02-实践

一、redis实现分布式锁每个线程竞争同一把锁,且只有同一线程能删除它上的锁,其它线程无法删除1、获取锁方法//存放每个线程获取锁的值,释放锁时比较当前线程锁值是否等于获取锁key的值 private ThreadLocal<String> local = new ThreadLocal<>();@Override//阻塞式的加锁public void loc...

2022-01-20 14:22:02 302 1

原创 redis-04-主从、哨兵机制、集群

一、主从模式1. 主从复制2. 主从拓扑:支持单层或多层A,一主一从:用于主节点故障转移从节点,当主节点的“写”命令并发高且需 要持久化,可以只在从节点开启 AOF(主节点不需要),这样即保证了数据的安 全性,也避免持久化对主节点的影响B, 一主多从:针对“读”较多的场景,“读”由多个从节点来分担,但节点越 多,主节点同步到多节点的次数也越多,影响带宽,也加重主节点的稳定C,树状主从...

2022-01-20 14:20:40 250

原创 重看Mysql联想到数据库连接池DruidDataSource

一、mysql客户端与mysql服务建立连接后如果太长时间没动静,mysql服务端连接器就会自动将它断开。这个时间是由参数 wait_timeout控制的,默认值是 8 小时。mysql客户端与mysql服务建立连接后如果太长时间没动静,mysql服务端连接器就会自动将它断开。这个时间是由参数 wait_timeout控制的,默认值是 8 小时。如果在连接被断开之后,客户端再次发送请求的话,就会收到一个错误提醒: Lost connection to MySQL server during query

2022-01-07 18:53:08 1166

原创 spring cloud之消费方使用Feign接口服务及其原理-4

前言前面用ribbon实现服务调用,代码比较麻烦,需要先用loadBalancerClient获取一个serviceInstance,然后组装Url,再用restTemplate调用,那么用Feign可以直接定义接口进行调用Feign基本使用方法1、引入依赖<dependency> <groupId>org.springframework.cloud&l...

2022-01-04 17:56:42 697

原创 springcloud-eureka服务端接收客户端全量更新的增量更新请求处理

文章目录一、服端接收请求方法1、getContainers处理全量更新方法2、getContainerDifferential处理新量更新方法3、readOnlyCacheMap 、readWriteCacheMap在哪里更新的3.1、定时任务更新readOnlyCacheMap3.2、readWriteCacheMap3.3、如果全量直接遍历registry返回实例列表3.4、如果增量直接遍历recentlyChangedQueue返回实例列表一、服端接收请求方法从客户端发送请求的路径可以找到,服务端

2022-01-04 15:36:45 598

原创 logback实现日志信息脱敏

文章目录一、一些敏感信息比如 手机号、身份证号,不在明文在日志中打印,自定义logback转换器,将这些字段脱敏后输出1、定义一个ESensitiveDataConverter 类如下:2、logback.xml中添加如下配置:一、一些敏感信息比如 手机号、身份证号,不在明文在日志中打印,自定义logback转换器,将这些字段脱敏后输出1、定义一个ESensitiveDataConverter 类如下:import ch.qos.logback.classic.pattern.MessageConve

2021-11-12 12:25:53 5775

原创 apollo配置中心之--spring boot如何加载apollo

一、启动类上加入@EnableApollo注解流程如下:1.1、initializePropertySources()方法源码private static final String APOLLO_PROPERTY_SOURCE_NAME = "ApolloPropertySources";protected void initializePropertySources() { if (environment.getPropertySources().contains(APOLLO_PROP

2021-04-21 16:31:30 1885

原创 10种排序

一、冒泡排序function bubbleSort(arr){ var len = arr.length; for(var i=0; i<len; i++){ for(var j=0; j<len-1-i; j++){ if(arr[j] > arr[j+1]){ // 相信元素比大小 var temp = arr[j+1]; // 元素位置交换,从小到大排列

2020-10-23 12:34:18 191

原创 栈实现队列

基本思路:1、创建2个栈stackIn : 放入元素stackOut: 弹出元素2、put 方法直接 push到statckIn 栈就可3、弹出元素因为队列的特点是 先进先出的, 而栈是先进后出的,所以栈先进 的元素 被压在了栈低。 所以我们需要先把 栈的元素 弹出放入 另一个stackOut栈中,这样 顺序就会反转,然后 按顺序 一直弹出 stackOut的元素即可。直到stackOut元素被 弹空,然后 再从stackIn中 弹出元素 放到stackOut栈中, 然后 再弹出……代码如下

2020-10-23 10:36:20 178

原创 日志采集elk

一、elasticsearch安装1、下载elasticsearchhttps://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-7-02、修改配置文件/usr/local/elk/elasticsearch-7.7.0/config/elasticsearch.ymlnetwork.host: 192.168.42.103 ----对应本机Ipnode.name: node-1cluster.initial_mast

2020-09-09 18:02:18 329

原创 maven,maven-resources-plugin根据不同环境覆盖配置文件

D:\myFile\test>mvn clean package -P test[INFO] Scanning for projects...Downloading from nexus: //这一段都是从中央仓库下载jar包 ,省略。。。。。。。。[INFO]//执行clean阶段[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ test ---[INFO] Deleting D:\myFile\test\target

2020-08-21 15:59:46 4404

原创 Elasticserach基本概念-2

13、单桶聚集13.1、过滤聚集过滤器聚集通过定义一个或多个过滤器来过滤分桶,满足过速器条件的文档将 落入这个过滤器形成的桶中。过滤器聚集分为单桶和多桶两种,对应的聚集类型 自然就是 filter 和 filters。POST /kibana_sample_data_flights/_search?size=0&filter_path=aggregations{ "aggs" : { "origin_cn": { # 过滤出发为CN的 航班 才落到桶中

2020-08-03 22:32:13 425

原创 windows下安装多个JDK

文章目录1、下载Jdk9:2、环境变量JAVA_HOME:JAVA8_HOME:JAVA9_HOME:2、安装jdk1.93、切换有些时候,我们可能想通过不同的jdk了解不同jdk的属性等等,可能需要安装多个jdk版本,当然了,一般工作中很少有这种需要,以下简单介绍windows中同时安装多个jdk的步骤:本机已经安装了jdk1.8 ,安装步骤已经不多说,现在再安装一个Jdk91、下载Jdk9:https://www.oracle.com/java/technologies/javase/java

2020-07-29 18:27:26 894

原创 idea自定义maven archeType

文章目录前言一、创建一个通用的项目模版二、生成archeType模版文件三、将模版项目安装到maven四、用创建好的archetype,创建Maven项目1、先添加自定义的archetype模版,2、添加完成后,可以看到archetype列表中多了新添加这个版模:3、选中这个模版,用这个版本生成项目:4、输入项目名、groupId前言通常一个公司的项目框架肯定是统一的规范,目录结构都类似,需要引入的依赖也类似,每次创建项目非常麻烦,拷贝之前的项目然后 修改一下项目名,包名。其实没有必要,只需要用mave

2020-07-27 17:01:16 1797

原创 Failed to decode downloaded font之Maven resource 配置中include与exclude及其filter的使用

文章目录一、问题起因二、include与exclude及其filter的使用一、问题起因服务启动后,访问流程页面发现有些图标显示方块,鼠标右键 查看console显示如下:Failed to decode downloaded font(线上环境字体图标不显示)于是开始排查,发现是pom文件 打包将字体文件给处理了,原始pom文件如下:<resources> <resource> <directory>src/main/java<

2020-07-27 11:39:44 223

原创 idea构建 spring5.x源码-Kotlin gradle Could not initialize class class org.jetbrains.kotlin.gradle.intern

文章目录一、你必须先安装gradle二、下载源码三、build.gradle文件报错四、build报错spring 源码后来改成了用gradle构建。一、你必须先安装gradle我的gradle版本是6.0.1安装详见另一篇文章 idea配置gradle二、下载源码我是直接在idea中用git下载的,源码地址三、build.gradle文件报错不用管,这个没影响四、build报错Kotlin gradle Could not initialize class class org.jet

2020-06-20 16:49:37 9325 3

原创 apollo配置中心之-如何启动源码及Config Service 通知配置变化源码解析

一、apollo整体架构apollo服务端大概有3个服务:Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口Client通过域名访问Meta Serv

2020-06-18 18:01:45 2823

原创 idea配置gradle

一、gradle 安装1、gradle下载gradle下载,点击gradle下载,到官网下载zip包2、gradle环境变量配置创建gradle_home在path后面添加 ${GRADLE_HOME}\bin3、校验是否安装成功gradle -v二、idea配置gradle1、修改gradle本地仓库地址Gradle和Maven都是当前热门的自动化构建工具。使用Gradle去构建项目,由于没有办法像Maven一样配置Setting文件来修改本地库的位置,我们可以通过设置环境变量

2020-06-17 11:17:03 12095 3

转载 权限管理之基于RBAC的设计方案

文章目录前言一、RBAC权限模型二、引入用户分组三、引入资源模型四、 基于RBAC权限模型的扩展模型完整视图前言RBAC(Role-Based AccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。与ACL实现的区别在于,不能直接为用户分配权限,只能从角色那里继承而来。一、RBAC权限模型在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)

2020-06-10 17:11:05 515

转载 基于AOP实现权限管理:访问控制模型RBAC和ACL

前言权限、日志是系统必不可少的的功能,将这些通用的东西抽出来,以AOP方式切入系统中,可以得到非常高的复用率。在OA中,接触了ACL(access control list)模型的权限设计。在高校平台中,采用RBAC(Role Based Access Control)模型的权限设计。一、ACL实体模型下面是ACL实体模型ACL的原理非常简单:每一项资源,都配有一个列表,这个列表记录的就是哪些用户可以对这项资源执行CRUD中的那些操作。当系统试图访问这项资源时,会首先检查这个列表中是否有关于当前

2020-06-10 17:06:31 418

原创 前后端分离后产生的跨域问题sessionid丢失,cookies无法写入等

前言现在大部分项目都采用的前后端分离,比哪后台用spring boot ,前端用vue等。一、会话机制session和cookies常用来会话保持。1. 何为一次会话,会话从什么时候开始,从什么时候结束?一次会话是指: 好比打电话,当A打给B,电话接通了 会话开始,持断会话结束。 浏览器访问服务器,就如同打电话,浏览器A给服务器发送请求,访问web程序,该次会话就开始,其中不管浏览器发送了多少请求 ,都为一次会话,直到浏览器关闭,本次会话结束。2.cookies如何保持会话,它的工作流程?工作

2020-06-09 15:36:42 10117 2

activiti-api-spring-integration-example.zip

activityexample

2021-06-18

protoc-3.6.1-win32.zip

protoc-3.6.1-win32 编译器下载,版本为2.6.1,执行protoc.exe --java_out=./ PersonMsg.proto命令可将.proto源文件,编译成javaBean对象

2020-03-13

空空如也

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

TA关注的人

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