自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 idea修改maven项目名称及子模块名称

【代码】idea修改maven项目名称及子模块名称。

2024-05-07 15:33:37 624

原创 idea个人常用插件

gittoolbox。

2024-04-23 16:58:39 194

原创 CompletableFuture中使用ArrayList添加元素并发线程安全问题

CompletableFuture中操作ArrayList添加元素缺失

2024-03-07 15:55:27 503

原创 idea一些不太常用但是能提升编码效率的快捷键

idea不常用但高效的快捷键

2023-10-11 10:16:15 407

原创 接口幂等性最佳实践--redis+注解

redis+注解实现接口幂等性

2023-09-19 17:17:28 516

原创 idea中回退远程push过的提交(详细图文操作)

在idea中,进行commit提交时,会自动帮我们执行add 命令,所以我们平时感知不到暂存区的存在,但其实由工作区commit提交到本地仓库,中间是需要经过暂存区的。每次执行git commit 时,会把暂存区的内容存储到本地仓库,同时创建一个commit,记录当前修改并把当前HEAD执行最新的提交。要把已经push到远程的提交回退到之前的某个提交,需要执行两个reset命令,一次hard,一次soft。每次执行git add 或 git delete 命令时,就是把工作区已经保存的内容,存储到暂存区。

2023-07-21 10:36:08 4894 1

原创 内网使用JRebel及踩坑点

内网激活JRebel及踩坑点

2023-07-14 16:36:11 801 1

原创 Redis的单线程模型和标准Reactor线程模型的关系

redis单线程、reactor线程模型、实际应用

2023-06-14 17:00:43 1016

原创 记一次线上kafka重复消费的问题解决及思考

kafka重复消费原因及解决方案

2023-04-01 11:59:01 2337 1

原创 kafka同消费者组多消费者锁争抢解决方案

kafka同消费者组多消费者数据库行级锁争抢

2023-01-09 15:34:26 1400

原创 微服务远程接口调用失败本地消息补偿方案

微服务远程接口调用失败本地消息补偿方案

2023-01-09 14:34:37 1794

原创 记一次数据库死锁解决方案

数据库死锁,项目记录

2023-01-06 18:03:35 259

原创 springsecurity 获取header中文乱码“The request was rejected because the header value “äº?é?ªé£?“ is no“问题解决

The request was rejected because the header value "äº?é?ªé£?" is not allowed问题解决

2022-08-08 17:07:31 6257 6

原创 ConcurrentHashMap线程安全的秘密

最简洁的语言帮你弄懂ConcurrentHashMap线程安全的核心原理

2022-04-21 18:23:42 678

原创 基于AQS实现一个简单的lock

手工实现简易的lock

2022-04-02 16:50:37 477

原创 线程池复用线程的秘密

线程池ThreadPoolExecutor复用线程

2022-03-06 16:20:48 332

原创 Mybatisplus映射实体类改变字段顺序映射出错问题解决

mybatis映射字段顺序

2022-01-31 12:02:30 2583

原创 nohup命令不产生nohup.log日志文件

背景用jar包方式启动springboot项目一开始使用nohup java -jar xxx.jar &方式后台启动,但是会产生nohup.log日志。时间长了nohup.log日志越来越大,而且本身配置了logback滚动日志,不需要nohup.log日志。最终使用如下命令解决。解决方法nohup java -jar -Xms1024m -Xmx1024m servicemarket-0.0.1-SNAPSHOT.jar --server.port=30001 --spring.profi

2021-12-22 15:49:44 4528

原创 解决idea格式化后(ctrl+alt+L)类(属性)注解格式化后类(属性)和注解在同一行

解决ctrl+alt+L格式化后注解和类在同一行

2021-12-07 19:06:03 2112 2

原创 mysql并发更新丢失问题解决方案

mysql并发更新丢失问题解决方案问题展示ssm项目主要代码idea多线程debug模拟并发更新解决方案悲观锁意向共享锁意向排它锁乐观锁问题展示搭建了一个简单springboot的ssm项目,通过idea提供的多线程debug模式模拟并发更新丢失数据问题。业务是根据name查询出来total,然后再根据name更新total+1ssm项目主要代码controller代码@RestControllerpublic class UserController { @Autowired

2021-06-22 20:13:58 1172 1

原创 (二)手写spring AOP框架

目录前言AOP是什么AOP框架要做什么AOP技术元素分析Advice设计插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言本篇基于(一)手写spring IOC容器手写AOP框架。采用问答形式,逐步梳理手写aop过程。AOP是什么Aspect Oriented Programmin

2021-01-20 10:36:27 481

原创 Spring源码分析系列——循环依赖解析(附详尽流程图)

目录前言测试代码准备执行流程分析DefaultListableBeanFactory.PreInstantiateSingletons()解析第一个实体类student的getBean()doGetBean()方法分析DefaultSingletonBeanRegistry.getSingleton(beanName)方法分析DefaultSingletonBeanRegistry.getSingleton(beanName,ObjectFactory)重载方法分析createBean()方法分析popul

2021-01-08 14:34:22 890 1

原创 Spring源码分析系列——bean创建过程分析(四)——实现FactoryBean接口创建bean

目录spring创建bean的方式测试代码准备preInstantiateSingletons()方法分析getBean(FACTORY_BEAN_PREFIX + beanName)创建FactoryBean分析getBean(beanName)分析,创建实际bean总结spring创建bean的方式构造方法无参构造方法有参构造方法工厂方法静态工厂方法实例工厂方法实现FactoryBean接口前三篇《Spring源码分析系列——bean创建过程分析(一)——默认无参构

2021-01-05 18:01:06 281

原创 Spring源码分析系列——bean创建过程分析(三)——工厂方法创建bean

前言spring创建bean的方式测试代码准备createBeanInstance()方法分析instantiateUsingFactoryMethod()方法分析总结spring创建bean的方式构造方法无参构造方法有参构造方法工厂方法静态工厂方法实例工厂方法实现FactoryBean接口前两篇《Spring源码分析系列——bean创建过程分析(一)——默认无参构造方法创建bean》和《Spring源码分析系列——bean创建过程分析(二)——有参构造方法创建bean

2020-12-25 18:53:07 326

原创 Spring源码分析系列——bean创建过程分析(二)——有参构造方法创建bean

前言spring创建bean的方式createBeanInstance()方法分析autowireConstructor()方法分析构造方法参数赋值createArgumentArray()方法解析resolveAutowiredArgument()方法实现参数自动装配DefaultListableBeanFactory里resolveDependency()方法解析DefaultListableBeanFactory里doResolveDependency()方法解析总结spring创建bean的方式

2020-12-24 18:56:32 972

原创 mysql配置开启binlog,并恢复删除数据(windows版)

本篇是基于windows版mysql操作的

2020-12-21 17:46:37 358

原创 Spring源码分析系列——bean创建过程分析(一)——默认无参构造方法创建bean

前言spring创建bean的方式从单例bean创建入手getBean()方法解析doGetBean()方法解析createBean()方法解析doCreateBean()方法解析createBeanInstance()方法解析instantiateBean()方法解析instantiate()方法解析instantiateClass()方法解析总结spring创建bean的方式有很多种,其中最简单的是无参构造方法创建bean的方式,本文采用静态代码和动态debug实例分析,也为接下来分析更加复杂的创建方

2020-12-18 15:11:28 680

原创 Spring源码分析系列——xml配置非默认元素<context:annotation-config/> 和<context:component-scan/>是如何让注解生效的?

目录结构分析方法源码分析解析xml标签解析自定义(非默认)标签功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入分析方法在之前的系列文章《Spring源码分析系列----ClassPathXmlApplicationContext

2020-12-16 17:09:49 325 2

原创 Spring源码分析系列——AnnotationConfigApplicationContext(String... basePackages)扫描加载注解bean

目录结构分析方法找到具体beanFactory,确定debug断点位置功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入分析方法上一篇分析ClassPathXmlApplicationContext加载xml过程采用debug方式

2020-12-03 17:33:25 639

原创 Spring源码分析系列----ClassPathXmlApplicationContext加载xml中bean定义注册容器的执行过程分析

本篇分析经典ClassPathXmlApplicationContext加载指定xml中bean定义注册到BeanFactory的执行过程分析,通过debug方式分析spring调用栈。确定beanfactory是具体哪个实现 我们知道applicationContext是用外观模式代理内部持有的BeanFactory,那具体是创建的哪个BeanFactory实现对象呢?来分析一下,看一下ApplicationContext的继承体系,如图1图1 通过Application...

2020-11-26 19:15:43 719

原创 mysql线上慢日志查询

配置线上mysql数据库配置文件my.cnf重启mysql Centos7 的mariadb重启命令是 systemctl restart mariadb.service安装工具pt-query-degist查看生成的慢sql日志详细步骤见安装文档 附件使用pt-query-degist常用参数 since:查询开始时间 until:查询结束时间 limit:指定显示的慢sql前多少条(默认显示按 照某sql总执行时间从大到小排序前5条) 附件地址:...

2020-11-16 16:48:22 109

原创 Spring源码分析系列——容器核心扩展接口beanFactoryPostProcessor的执行解析

本文详细解析Spring源码中对核心扩展BeanFactoryPostProcessor的源码实现,及方法中while(reiterate)循环的解读

2020-07-17 16:12:23 228 1

原创 (一)手写spring IOC容器

本文用问答形式引导读者思考,以求理解spring ioc容器的设计思想目录IOC分析IOC是什么?带来什么好处?做什么工作?是否是工厂模式的实例?IOC设计实现IOC容器的工作?bean是什么?它应该具备什么行为、功能?这个getBean()方法是否需要参数?需要几个参数?什么类型的参数?getBean()方法返回值应该是什么类型?设计bean工厂接口如何告诉他创建Bean?定义一个bean定义注册接口接口中要定义什么方法?注册的bean定义用什么区分

2020-07-08 09:22:21 263

原创 Mysql数据库的隔离级别的底层实现与锁的关系

一、概念 脏读:指读到了其他事务未提交的数据。 不可重复读:读到了其他事务已提交的数据(其他事务对该条数据进行了update操作这种情况)。 幻读:在一个事务中,两次同样的select操作的结果,row数不一致。 不可重复读和幻读都是读到了其他事务已提交的数据,但是针对的点不一样, 不可重复读是对update ...

2020-04-15 11:43:39 387

原创 基于spring注解@cacheable等使用redis缓存

搭建步骤pom文件引入spring-data-redis依赖。 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <ver...

2020-01-17 11:03:45 2136

原创 学习《linux就该这么学》走过的坑

最近在学《linux就该这么学》这本书,这本书写的还是很不错的,推荐想系统学习linux的同学看下。但是在学习的过程中也遇到了不少坑,记录下来,给自己也给大家提个醒。不定时更新。一、配置网络 书中在安装RHEL7教学中说要配置虚拟机网络模式为“仅主机网络”,然后在vim命令学习章节教我们配置网络上网。之前的步骤比较简单,就不多说了,最后一步是执行命令“systemctl rest...

2019-08-08 15:06:26 228

原创 手写一个简单的线程池(未完待续)

根据jdk自带的线程池实现一个简单的线程池,自己练手用,方便理解线程池工作原理。import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.ArrayList;import java.util.List;public class My...

2019-07-05 11:24:28 177

原创 单点登录——用户中心大致流程

客户端需要登录后才能执行的操作,在拦截器Interceptor中设置。第一次访问客户端拦截器(拦截所有登录后才能做的操作,目录规划时要规划好,/back**),没有token,跳转到用户中心服务器(response.sendRedirect(url)),(url中带着returnUrl,用来在用户中心登录成功后跳转回客户端正在访问的页面),登录成功后,生产token,并且将token追加到retu

2017-08-05 21:47:42 3696

原创 用Nginx和FTP协议上传图片(文件)时注意点

用Nginx和FTP协议上传图片(文件)时,要在同一台服务器上装Nginx和vsftpd,他俩操作的目录必须设置为同一个,分别在nginx.conf和vsftpd.conf里设置操作目录,然后用ftp协议上传,用nginx访问。

2017-08-05 21:46:46 677

原创 Integer.valueOf()和Integer.parseInt()区别

Integer.valueOf()和Integer.parseInt();都可以传String类型的数字如“123456”,(Integer.valueOf()还可以传int参数,将int值变为Integer类型),不同的是Integer.valueOf()返回类型是Integer包装类,而Integer.parseInt()返回类型是int数值。如果返回值用int接收,两者没有区别,但是如果返回

2017-08-05 21:45:37 624

线上慢查询日志文档及命令

mysql慢查询日志文档及命令,操作步骤。用于查询线上mysql sql执行情况,可根据设置过滤sql执行时间大于多少的sql统计情况,工具采用pt-query-degist

2020-11-16

02-spring-v1.zip

手写spring IOC容器源码,作为博客《(一)手写spring IOC容器》的链接资源,是maven项目,

2020-07-08

空空如也

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

TA关注的人

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