自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

原创 图解spring-mybatis

一、SSA之前的文章也有写过mybatis拓展spring的分析。我们可以知道mybatis在拓展spring的时候用了spring的两个拓展接口mybatis实现spring的FactoryBean接口,这个接口有个getObject方法,重写此方法方便给Dao接口做代理。做代理的原因很简单Dao接口无法直接查询数据库,mybatis的通用代理对象的目的就是在代理对象内部配置好数据源,传入你的mapperInterface即mapper接口到代理对象,即可查数据库。mybatis实现spring的

2021-07-14 23:25:55 110

原创 关于bean的populateBean中获取ApplicationContext的源码过程

文章目录前言一、SSA二、GTTP1.看下基本类,模拟的mybatis扩展spring接口实现查询2.查看mybatis扩展spring源码总结前言“风吹起如花般破碎的流年,而你的笑容摇晃摇晃,成为我命途中最美的点缀,看天,看雪,看季节深深的暗影。”- - 张爱玲一、SSA我们都知道spring-framework的框架默认对bean的管理都是单例的,如果一个单例的类A里需要调用一个原型对象B,如果在A中@Autowired注入了B这个原型对象,那么从A中每次get到的B都是同一个(下面会

2021-07-12 23:49:12 117

原创 aqs笔记

AQS的整体详细流程图总体的详细脉络上图写的已经非常详细,此处额外补充一些基础知识cas操作究竟是什么意思jdk源代码里经常看到如设置尾compareAndSetTail(Node expect, Node update) #unsafe.compareAndSwapObject(this, headOffset, null, update)设置头compareAndSetHead(Node update) #unsafe.compareAndSwapObject(thi

2022-04-17 23:21:10 415

原创 java锁头变化本质

概念1. java对象对象头(Object header)12byte。对象头由Mark word(8byte)和Klass pointer(开启指针压缩大小为4byte,指向对象的元数据的指针,指向方法区class类的模板)组成。对齐的字节(由对象的实例数据和字节对齐组成。因为在64位虚拟机上对象的大小必须是8的倍数)4byte。Object header(128 bits)Mark word(64 bits)Klass pointer(64 bits 未开启

2021-12-26 01:37:43 359

原创 volatile内存语义

并发编程

2021-12-05 22:49:21 375

原创 volatile的弊端(总线风暴)

volatile的弊端

2021-12-05 20:22:19 547

原创 高并发下指令重排导致的单例方法异常

高并发下指令重排导致的单例方法空指针

2021-12-05 19:46:50 153

原创 springsecurity+jwt+oauth2.0校验jwt的过期时间源码解读

场景描述笔者的项目架构采用的是springsecurity+jwt+oauth2.0架构,配置的多客户端校验权限获取jwt访问系统资源。也就是说系统存在web,小程序,手机号三个用户体系,对应三个用户主表。每个客户端在BaseClientDetails的access_token_validity和refresh_token_validity配置jwt的access_token和refresh_token的过期时间。如下图:读取数据库配置的客户端各字段属性,在上面的方法的中配置如下图在配置类中

2021-11-17 17:18:28 2790

原创 springsecurity+jwt+oauth2.0自定义客户端

有来技术团队的youlai-mall 项目授权部分架构分析

2021-10-30 20:15:59 118

原创 mysql的sql优化案例

mysql分页查询优化此处mysql表已经设置了主键索引 PRIMARY KEY (id),联合索引 KEY idx_name_age_position (name,age,position) USING BTREEmysql> EXPLAIN select * from employees limit 90000,5;这条sql语句会查询约10w条数据,只拿出需要的5条其他全部丢弃,没走索引,效率很低。mysql> EXPLAIN select * from employ

2021-07-30 19:08:37 336

原创 mysql性能优化

一、SSA本系列主要是写各种优化。二、GTTP索引能提高查询的速度MySQL的InnoDB存储引擎用的是索引是用户所设置的所在列的值,查询的结果value是索引值所在行的数据对应的磁盘地址(指针),即可以读到这行数据。...

2021-07-28 16:31:21 373

原创 mybatis扩展---Second

文章目录前言一、SSA二、GTTP1.逐个看下基本类2.模拟上面的mybatis#getMapper获取代理对象3.查看mybatis源码,证明模拟的理论总结前言劳歌一曲解行舟,红叶青山水急流。日暮酒醒人已远,满天风雨下西楼。- - - 出自许浑 的《谢亭送别》(唱完了一曲送别的歌儿,你便解开了那远别的行舟,两岸是青山,满山是红叶,水呀,在急急地东流。当暮色降临,我醒来了,才知道人已远去,而这时候,满天风雨,只有我一个人的身影独自离开了那西楼。)一、SSA关于mybatis实现jdk

2021-06-18 14:03:31 271

原创 mybatis扩展---Firstly

文章目录前言一、SSA二、GTTP1.静态代理2.JDK动态代理3.自定义JDK动态代理总结前言万丈高楼平地起,-- 基础篇。一、SSA之前写过这个知识点 ,现在补充一些。Talk is Cheap,。二、GTTP1.静态代理先看下笔者的代码。代码的大概意思就是: 钢铁侠代理了蜘蛛侠,两人一起打怪兽。当然,这个是静态代理,是在有接口的前提下。其中的问题显而易见,SpiderMan不能每次都要叫唐尼代理他,他必须自己能搞定,所以他后面继承高科技的衣钵,个人感觉是唐尼的片酬太

2021-06-16 15:24:30 82

原创 动态代理(代码篇)

文章目录前言一、SSA二、GTTP1.静态代理函数式接口定义:3.LocalDateTime API总结前言万丈高楼平地起,-- 基础篇。一、SSA之前写过这个知识点 ,现在补充一些。Talk is Cheap,。二、GTTP1.静态代理函数式接口定义:先看下笔者的代码。代码的大概意思就是: 钢铁侠代理了蜘蛛侠,两人一起打怪兽。当然,这个是静态代理,是在有接口的前提下。其中的问题显而易见,SpiderMan不能每次都要叫唐尼代理他,他必须自己能搞定,所以他后面继承高科

2021-05-28 15:36:58 204

原创 自定义注解(基础篇)

文章目录前言一、Say Something --- Author (SSA)二、理论(Get To The Point言归正传)1.概念2.性能3.延申反射概念缺点总结前言万丈高楼平地起,基础知识。一、Say Something — Author (SSA)果静林09年版《袁隆平》我居然看完了(虽然存在快进的环节),前几天关于袁老的新闻报道就不多说了,福泽子孙后代的功绩值得每个人学习致敬。话说回来相关新闻显示袁老求学期间成绩一般,但后面持久专心的研究才取得了伟大的成就。例如马老师人到中年还一

2021-05-26 22:53:18 64

原创 Cglib和Jdk代理

cglib和jdk代理的区别

2021-03-07 18:59:46 102

原创 java8新特性

java8新特性

2021-01-11 16:08:08 103

原创 spring循环依赖的理解

关于spring的循环依赖的认识前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入提示:文章写完后,目录可以自动生成,如何生成可

2021-01-07 23:54:51 176

原创 日常杂项

Oracle按天(自定义)分组,查询每天前100条SELECT *FROM (SELECT T.*, RANK() OVER(PARTITION BY to_char(t.create_date_日期字段,‘yyyy-mm-dd’) ORDER BY T.ROWID) RKFROM SYS_USER_表名 Twhere t.create_date_日期字段 betweenTO_DATE(‘2020-11-01’, ‘yyyy-mm-dd’) ANDTO_DATE(‘2020-12..

2020-12-08 10:35:03 70

原创 Oracle中索引的原理

索引的概念索引是一种数据库结构,能够就数据库中的某列提供快速查询,而不用检索整个表格(官方的不行)。在 Oracle 数据库中,存储的每一行数据都有一个 rowID 来标识。当 Oracle 中存储着大量的数据时,意味着有大量的 rowID 。当对 Oracle 表执行指定条件的查询时,常规的方法是将所有的记录取出来,然后再把每一条记录与查询条件作对比,最后返回满足条件的记录。这样操作不仅耗费时间并耗费资源。此时想要快速定位指定的 rowID ,就需要使用索引对象。建立索引时,oracle会首先

2020-12-07 16:16:30 3867

原创 dns劫持以及利用Linux在20ms内只返回50次ping无法链接的漏洞

this is dns劫持

2020-12-04 16:52:42 503

linux安装mysql步骤.md

linux安装mysql步骤.md

2021-12-14

并发编程之JMM&synchronized&volatile详解.pdf

并发编程关键字

2021-12-05

skyworking.7z

skyworking的教程文档和相关文件

2021-10-20

Skywalking教程.md

Skywalking教程

2021-10-20

Mysql索引优化案例.pdf

Mysql索引优化案例.pdf

2021-07-30

空空如也

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

TA关注的人

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