自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (8)
  • 收藏
  • 关注

原创 MyBatis - SpringBoot配置多数据源

SpringBoot配置多数据源

2022-10-12 11:31:25 1318 1

原创 Spring - 事务(2)- 同一类中方法调用事务不起作用

参考:https://segmentfault.com/a/1190000008379179https://blog.csdn.net/aya19880214/article/details/50640596一、概述用过Spring声明式事务的小伙伴肯定都知道,有这种一种场景:一个类中有两个方法testA()、testB(),testA()没有使用事务,testB()使用事务(默认传播机制为REQUIRED:支持当前事务,如果不存在则创建一个新事务)场景1:通过 service#tes

2021-08-23 00:31:54 2786 1

原创 Spring - 事务(1)- 声明式事务源码分析

参考:<<Spring源码深度解析 第2版>>一、声明式事务1.1 @Transactional在分析源码前,我们必须对声明式事务的使用,即@Transactional注解比较熟悉,因为源码中就是根据注解的属性进行解析,创建不同的事务,特别是传播机制。@Transactional注解可以放在类或方法上:类上:指定某个类及子类中所有方法方法上:指定某个方法启用事务@Transactional属性如下表所示:属性默认值描述value/tr

2021-08-22 00:13:04 391

原创 算法(3) - 数字相关的算法

参考:漫画算法lubuladong的算法小抄一、数字相关的算法常见的数字相关算法:求出最大公约数判断一个数是不是2的次幂质数相关问题1.1 求出最大公约数常见的解决方法有3种:辗转相除法:又叫欧几里得算法更相减损术:辗转相除法+更相减损术+位运算:结合了前两种算法,同时通过位运算加快运算速度1.1.1 辗转相除法辗转相除法定理:两个正整数a和b(a>b),它们的最大公约数等于 a除以b的余数c 和 b 之间的最大公约数思路:两个正整数a和b,通过

2021-08-14 21:01:41 823

原创 算法(1) - 链表有环问题

一、链表有环相关算法题1.1 判断链表是否有环思路:通过快慢指针解决快指针每次前进2步,慢指针每次前进1步,假如快慢指针相遇,那么就表示有环(有点类似于追及类问题,跑的快的肯定会追上慢的,被套圈了…)public static class Node { int value; Node next; public Node(int value, Node next) { this.value = value; this.next = nex

2021-08-14 00:20:57 112

原创 【Java并发】ReentrantReadWriteLock

参考:<<Java并发编程的艺术>>JDK1.8源码一、读写锁简介读写锁java.util.concurrent.locks.ReadWriteLock是个接口,接口里定义了两个方法Lock readLock()和Lock writeLock()分别用于获取读锁和写锁。读写锁(参考ReadWriteLock接口上的注释):一对锁:读锁用于读操作,写锁用于写操作读锁:多个读线程可以同时获取到读锁进行读操作,写线程此时获取写锁时会被阻塞写锁:对于写锁,只有一个

2021-08-08 15:23:04 188 1

原创 JDK监控和故障处理工具

参考:深入理解Java虚拟机Sun JDK监控和故障处理工具名称主要作用jpsJVM Process Status Tool,显示指定系统内所有的HotSopt虚拟机进程jstatJVM Statistics Monitoring Tool,用于手机HotSopt虚拟机各方面的运行数据jinfoConfiguration Info for Java,显示虚拟机配置信息jmapMemory Map for Java,生成虚拟机的内存转储快照(heapdump

2021-07-05 16:10:26 171

原创 MyBatis generator - 简单使用(4)- 自定义生成(修改源码)

一、官方相关文档github:https://github.com/mybatis/generator文档:http://mybatis.org/generator/index.html二、自定义生成在上一篇博客(MyBatis generator - 简单使用(3)- 自定义注释)中自定义了注释生成器,可以还是不能满足需求,所以这篇博客示例下直接修改源码后生成符合需求的模板代码,不局限于注释。从github下载源码就可搞了。...

2021-06-28 17:26:55 2083 1

原创 MyBatis generator - 简单使用(3)- 自定义注释

一、官方相关文档github:https://github.com/mybatis/generator文档:http://mybatis.org/generator/index.html二、自定义注释在上一篇博客(MyBatis generator - 简单使用(2)- 配置详解)的3.2节说过一个<commentGenerator>标签,用于自定义注释的生成。MyBatis generator中默认的注释生成器:org.mybatis.generator.internal.De

2021-04-26 10:37:19 1645

原创 MyBatis generator - 简单使用(2)- 配置详解

一、官方相关文档github:https://github.com/mybatis/generator文档:http://mybatis.org/generator/index.html二、常用标签详解上一篇博客 1.MyBatis generator - 简单使用(1) 大概过了一遍生成需要配置的基本属性,这篇主要具体介绍下常用的4类标签的属性配置:javaModelGenerator标签:实体类包名、存放目录配置javaClientGenerator标签:Dao包名、存放目录配置s

2021-04-21 23:26:28 708

原创 MyBatis generator - 简单使用(1)

一、官方相关文档github:https://github.com/mybatis/generator文档:http://mybatis.org/generator/index.html二、使用2.1 配置官方示例:http://mybatis.org/generator/configreference/xmlconfig.html简单的配置如下:mysql数据源(db2…)插件配置,如分页插件注释等属性配置配置Bean、Dao、Mapper.xml包名和存放目录表的配置,表名

2021-04-19 23:37:47 266

原创 常见的安全算法

参考:大型分布式网站架构设计与实践MD5算法Base64编码对称加密算法1. DES算法2. AES算法AES(Advanced Encryption Standard - 高级加密标准),对称加密标准,用来替代原先的DES算法。AES算法作为新一代的数据加密标准,汇聚了强安全性、高性能、高效率、易用和灵活等优点,设计有三个密钥长度(128、192、256位),比DES算法的加密强度更高,更安全。示例:(基于java)非对称加密算法1.RSA算法...

2020-11-04 18:08:41 1218 1

原创 JMeter - http请求压力测试

官方地址:https://jmeter.apache.org/二、示例需求:现需要对一个http接口进行压力测试并生成测试报告,POST,请求方式是json,接口正常返回响应码是0步骤:1.jmeter新建一个线程组2.新建http请求,设置请求方式、接口地址、请求头、请求参数等3.添加断言4.添加查看结果树5.生成测试报告2.1 新建线程组测试计划下新建一个线程组:新建好的线程组如下图所示,主要关注线程属性配置(Thread Properties):Number of

2020-06-04 14:11:41 1115

原创 Redis学习笔记 - 监视器

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异

2019-09-18 09:17:50 176

原创 Redis学习笔记 - 排序(2) - SORT命令的实现

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异Redis中sort命令简单使用,参考博客:https://blog.csdn.net/mytt_10566/article/details/100042971...

2019-09-18 09:17:12 307

原创 Redis学习笔记 - 排序(1) - 使用SORT命令

参考:http://www.redis.cn/commands/sort.htmlhttp://doc.redisfans.com/key/sort.html一、命令SORT key [BY pattern] [LIMIT offset count] [GET pattern] [ASC|DESC] [ALPHA] destination返回或保存给定列表(list)、集合(set...

2019-09-18 09:16:37 399

原创 Redis学习笔记 - Lua脚本(2) - Lua脚本的实现

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异Redis中Lua脚本相关命令介绍以及简单使用,参考博客:https://blog.csdn.net/mytt_10566/article/details/99715998一、创建并修改Lua环境为了在Redis服务器创建Lua脚本,Redis在服务器内嵌了一个Lu...

2019-09-02 09:41:49 4742

原创 Redis学习笔记 - Lua脚本(1) - 使用Lua脚本

参考:http://www.redis.cn/commands/eval.htmlhttps://www.runoob.com/redis/redis-scripting.htmlRedis从2.6.0版本开始支持Lua脚本,通过在服务器嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务器端原子地执行多个Redis命令。1.使用Lua脚本的好处:减少网络开销:可以将多个...

2019-09-02 09:41:19 1013

原创 Redis学习笔记 - 事务

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异http://www.redis.cn/topics/transactions.htmlRedis通过MULTI、EXEC、WATCH等命令来实现事务(transaction)功能。事务提供了一种将多个命令请求打包,然后一次性、按顺序执行多个命令的机制,并且在...

2019-09-02 09:40:34 557

原创 Maven学习笔记 - git-commit-id-plugin插件

参考:插件GitHub地址:https://github.com/git-commit-id/maven-git-commit-id-plugingit-commit-id-plugin 是一个类似于 buildnumber-maven-plugin 的插件,由于buildnumber-maven-plugin插件仅支持 CVS 和 SVN,所以作者就开发了一个支持Git版。这个插件主要...

2019-08-28 17:16:32 32354 6

原创 Redis学习笔记 - 发布与订阅

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异http://www.redis.cn/commands/slowlog.html

2019-08-26 10:37:53 193

原创 Redis学习笔记 - 慢查询日志

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异http://www.redis.cn/commands/slowlog.htmlRedis慢查询日志功能:记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来监视和优化查询速度。(1)服务器配置中和慢查询相关的两个属性:slowlog-...

2019-08-26 10:37:28 230

原创 Redis学习笔记 - 服务器(3) - 初始化服务器

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异一个Redis服务器从启动到能够接收客户端命令的请求,需要经过一系列的初始化和设置过程,比如:初始化服务器状态接受用户指定的服务器配置创建相应的数据结构和网络连接…1. 初始化服务器状态结构初始化服务器状态第一步就是创建一个 struct redisSe...

2019-08-19 10:44:44 285

原创 Redis学习笔记 - 服务器(2) - serverCron函数

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异serverCron函数:这个函数负责管理服务器的资源,并保持服务器自身的良好运转。默认每隔100ms执行一次。下面介绍serverCron函数执行的操作,以及redisServer结构(服务器状态)和该函数有关的属性。1. 更新服务器时间缓存Redis服务器中...

2019-08-19 10:44:13 541

原创 Redis学习笔记 - 服务器(1) - 命令请求的执行过程

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异Redis服务器负责与多个客户端建立网络连接,处理客户端发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并通过资源管理来维持服务器自身的运转。命令请求的执行过程一个命令请求从发送到获得回复的过程中,客户端和服务器需要完成一系列操作。如客户端执行了以下命令...

2019-08-19 10:43:41 534

原创 Redis学习笔记 - 客户端

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异Redis服务器是一对多服务器程序:一个服务器可以和多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器接收并处理客户端发送的命令请求,并向客户端返回命令回复。使用由I/O多路复用技术实现的文件事件处理器,Redis服务器可以使用单线程单进程的方式来处...

2019-08-19 10:43:05 208

原创 Redis学习笔记 - 时间事件、事件的调度与执行

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异一、时间事件Redis的时间事件分为两类:定时事件:让一段程序在指定的时间之后执行一次。周期性事件:让一段程序每隔指定时间就执行一次。一个时间事件主要由以下三个属性组成:id:服务器为时间事件创建的全局唯一ID(标识号)。ID号按从小到大的顺序递增。w...

2019-08-10 22:59:55 616

原创 Redis学习笔记 - 文件事件

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件:文件事件(file event):Redis服务器通过套接字与客户端(或其他Redis服务器)进行连接,文件事件就是服务器对套接字操作的抽象。服务端与客户端(或其他服务器)的通信会产生相应的文本事件,而...

2019-08-10 22:59:17 196

原创 Redis学习笔记 - 持久化

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异持久化方式:全量写入RDB:阻塞式SAVE非阻塞式BGSAVE增量写入AOF一、全量写入RDBredis配置文件中默认的RDB配置前3行是触发RDB的条件,第一行:每900秒redis有一条数据被修改则触发RDB;第二三行类似;dbfilen...

2019-08-10 22:58:27 1193

原创 集成美团点评cat报错,Unable to get instance of Logger, please make sure the environment was setup correctly!

这两天在集成美团点评cat监控平台时,一直提示下面的报错。解决过程:一开始以为是配置文件配置有问题,找了半天没发现啥问题又想着是不是jar包冲突的问题,因为看到有人说netty版本的问题,不过试了一下不管用因为是比较老的项目,不知道是不是有其他jar包影响到了cat,于是新建了个springboot项目,同样的配置,通过Application#main方法居然成功了,说明配置没问题。一个...

2019-08-01 15:06:36 1027

原创 Redis学习笔记 - 过期键删除策略

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异一、过期键删除策略一个键过期了,什么时候它会被删除?可能有以下三种策略:定时删除:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作惰性删除:放任键过期不管,每次从键空间获取键时,检查取得的键是否过期,如...

2019-07-21 23:07:32 280

原创 Redis学习笔记 - 内存回收、对象共享、对象的空转时长

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异一、内存回收C语言不具备自动内存回收功能,所以Redis在自己的对象系统中构建了一个引用计数(reference counting)计数实现的内存回收机制。通过这一机制,程序可以通过跟踪对象的引用计数信息,在适当时候自动释放对象并进行内存回收。每个对象的引用计数信...

2019-07-21 23:06:41 461

原创 Redis学习笔记 - 类型检查与命令多态

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异Redis中用于操作键的命令可以分为2种类型:对任何类型的键执行,如del、expire、rname、type、object等命令对特定类型的键执行,如set、get、append、strlen等命令只能对字符串(string)执行注:如果对字符串键执行lle...

2019-07-21 23:05:47 178

原创 Redis学习笔记 - 有序集合对象zset

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异有序集合对象的编码是:ziplistskiplist一、有序集合对象的编码1.1 ziplist编码ziplist编码的有序集合对象使用压缩列表作为底层实现,每个集合元素使用两个紧挨在一起的压缩列表节点来保存,第一个节点保存元素的成员(member),第...

2019-07-08 23:52:13 687 1

原创 Redis学习笔记 - 集合对象set

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异集合对象的编码是:intsethashtable一、集合对象的编码1.1 intset编码intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都被保存在整数集合里面。创建一个使用intset编码的集合对象:redis> s...

2019-07-08 23:51:45 307

原创 Redis学习笔记 - 哈希对象hash

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异哈希对象的编码是:ziplisthashtable一、哈希对象的编码1.1 ziplist编码ziplist编码的哈希对象使用压缩列表作为底层实现,当有新的键值对要加入哈希对象时,程序会先将保存了键的压缩列表推入到压缩列表表尾,然后再将保存了值的压缩列表...

2019-07-08 23:51:17 239

原创 Redis学习笔记 - 列表对象list

参考:<<Redis设计与实现>>注:这本书是基于Redis3.0版本写的,和后面的版本有点差异列表对象的编码是:ziplistlinkedlist一、列表对象的编码1.1 ziplist编码ziplist编码的列表对象使用压缩列表作为底层实现,每个压缩列表节点(entry)保存了一个列表元素。示例:插入三个元素:redis> rpus...

2019-07-08 23:50:47 640

原创 Redis学习笔记 - 字符串对象

参考:<<Redis设计与实现>>字符串对象的编码可以是 int、embstr 或 raw。如果一个字符串对象保存的是整数值,并且可以用long类型来表示,那么就会将整数值赋值给字符串对象结构里的ptr属性,以及将字符串对象的编码设置为int。如果保存的是字符串,并且这个字符串值的长度大于44字节,那么字符串对象将使用SDS(简单动态字符串)保存,并将编码设置为ra...

2019-07-03 23:40:09 199

原创 spring - AOP(6)- 记录后台管理员操作日志

一、需求1.1 问题后台一些涉及到新增、编辑、删除等敏感操作的需要记录下操作日志,包含操作人、操作内容、请求参数等等信息。1.2 思路统一在Controller层进行拦截,记录下请求信息通过自定义注解,包含操作内容通过Spring AOP + AspectJ来实现,利用AspectJ里的相关注解可以方便的定义切面、切点等二、实现2.1 环境准备Maven引入 spring-b...

2019-07-02 23:51:40 1814

原创 RabbitMQ学习笔记 - 消息传输保障

参考:<<RabbitMQ实战指南>>消息可靠传输一般是业务系统接入消息中间件时首要考虑的问题,一般消息中间件的消息传输保障分为三个层级:At most once:最多一次。消息可能会丢失,但绝不会重复传输。At least once:最少一次。消息绝不会丢失,但可能会重复传输。Exactly once:恰好一次。每条消息肯定会被传输一次且仅传输一次。Rab...

2019-06-25 22:40:07 651

mariadb-1.5.x jar包

java连接MariaDB数据库使用的jar包,版本:1.5.5-1.5.9

2017-04-09

jquery-2.1.4.min.js

jquery压缩后的js

2017-04-07

fastjson1.2.31

fastjson的jar包,包括源码

2017-04-07

pagehelper4.1.1.jar+jsqlparser-0.9.4.jar

mybatis分页查询插件和依赖的包 pagehelper4.1.1.jar+jsqlparser-0.9.4.jar 所需mybatis3.3.0及以上

2016-10-14

mybatis-3.3.1

mybatis3.3.1jar以及源码

2016-10-14

jquery1.11.0中文文档

jquery1.11.0中文文档

2016-10-05

jquery1.8.3中文文档

jquery1.8.3 中文文档

2016-10-05

W3School离线手册.chm

w3School离线手册,包括html/css/javascript等基础

2016-06-22

空空如也

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

TA关注的人

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