自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 synchronized原理-字节码分析、对象内存结构、锁升级过程、Monitor

本文分析的问题:1. synchronized 字节码文件分析之 monitorenter、monitorexit 指令2. 为什么任何一个Java对象都可以成为一把锁?3. 对象的内存结构4. 锁升级过程5. Monitor 是什么、源码查看

2024-05-22 15:42:02 575

原创 SpringBoot 整合多数据源的事务问题

切面的优先级问题(Order注解)事务的传播特性(Propagation类)文章到这里就结束了,应该还是有点长的(大概两万五千多字)。希望有点帮助哈。

2024-01-31 12:00:41 1064 1

原创 MyBatis的执行流程

org.apache.ibatis.executor.BaseExecutor#queryFromDatabase() 查询数据库。org.apache.ibatis.executor.CachingExecutor#query() 查询。2、到查询里面的判断后,会再次判断你的返回值是返回集合、还是返回的是map、还是单个的或者是其它的类型。1、上面这段代码就是通过判断你是要增删改查的哪一种,我们这里调用的查方法,所以会到查里面。.query() 通过执行器执行query方法 (四大核心对象之一露面了)

2023-11-30 23:34:28 972

原创 SpringMVC的执行流程

核心就是 DispatcherServlet 类的 doDispatch() 方法,所以我们直接来到这个方法来看是如何执行的1,首先请求进来后,会通过 checkMultipart(request);方法先判断是否是上传文件的请求,如果是,就封装此请求,然后返回;如果不是,就直接返回2,通过 getHandler(processedRequest);方法获取到 HandlerExecutionChain 对象(包括Handler、HandlerInterceptor)

2023-01-15 00:28:16 162

原创 科普一下网页如何变灰

那这个效果是如何实现的呢?总不可能是程序员去手动一个一个改吧,想想都不现实。那当然有更简单方便的操作。那实验并看到了效果,那肯定得理解啊。我用红框圈出来的地方 致使变灰的奥妙就在这里,大家可以找一找。读者想法:你说是就是啊,除非我自己动手实验看到。本文到这里就结束了,大家能学到东西就好。filter function 更多的值。

2022-12-02 16:40:03 331

原创 一招解决github访问慢的问题

之前我在网上搜过解决办法,其中一个是修改 hosts 文件,但是效果不太理想。我在这里给大家推荐github上的一个开源项目:FastGithub 。用了这个之后,效果就比较理想了,次次都能访问到。源码地址:GitHub - dotnetcore/FastGithub: github加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题应用程序地址:Releases · dotnetcore/FastGithub ·

2022-07-08 14:40:37 8902 15

原创 解决idea2020.3.3版本无法使用actiBPM插件问题

由于在idea自带的插件商店中搜索不到此插件,所以我们需要去官网下载:地址:JetBrains Marketplace 点击下载:下载完成之后,打开idea的设置,选择 plugins,点击小齿轮,然后点击这个来安装:选择你下载到的路径但是会出现如下问题,原因是2020版之后不兼容此插件了 首先查看自己idea的版本号,并记下来:位置:其他版本 - IntelliJ IDEA (jetbrains.com)打开idea的官方网站后,蓝框圈着的就是,红框的可以切换版本然后使用压缩软件打开此jar包,编辑 M

2022-06-18 10:59:27 7174 32

原创 MyBatis之SqlSessionFactory 的初始化流程

使用 XML 文件构建 SqlSessionFactorySqlSessionFactoryBuilder:解释:1,通过输入流来构建一个 SqlSessionFactory 对象。new了一个 DefaultSqlSessionFactory 对象build() 方法:parser: 调用 parser.parse() 方法进入到 XMLConfigBuilder 类中:解释:1,调用 parser.evalNode("/configuration") 来获取 configurat

2022-06-04 19:44:24 852

原创 MybatisPlus 的使用

是什么?MyBatis-Plus(opens new window)(简称 MP)是一个MyBatis(opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网地址:MyBatis-Plus (baomidou.com)为什么要用?因为在mybatis的基础上增加了很多功能。能够进一步的简化我们的开发。怎么用?接下来给大家演示介绍特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,...

2022-05-25 23:07:39 297

原创 Redis 的使用

环境:cent os7、Redis 5.0.4、xshell7、xftp7目录安装重要文件介绍服务的启动与关闭启动关闭连接安装使用xftp工具把压缩包上传到linux中,这里我是上传到了 `opt` 目录下然后使用 tar -xvf redis-5.0.4 命令进行解压缩使用 yum 下载 gcc 工具 命令:yum install gcc -y安装完成之后,进入 redis-5.0.4 这个目录,执行 make 命令,进行编译:编译完成之后,使用

2022-05-22 16:20:54 504

原创 SpringSecurity 的登录流程

用过SpringSecurity的小伙伴,都知道Authentication 这个接口,我们在任何地方通过这个接口来获取到用户登录的信息,而我们用的频繁的一个它的一个实现类就是UsernamePasswordAuthenticationToken。那么我们的登录信息是如何保存在这个类中的?那我们就需要知道SpringSecurity 的登录流程了。这两个类很重要!在SpringSecurity 中 认证和授权的校验是通过一系列的过滤器链。首先到AbstractAuthenticationPro...

2022-05-08 18:12:55 3225 1

原创 Java == 和 equals 的区别

== 既可以比较基本数据类型也可以比较引用数据类型。对于基本数据类型比较的就是值,对于引用数据类型比较的就是地址值。equals() 只能在引用数据类型之间进行比较基本数据类型: == 比较的是值 引用数据类型: 重写了 equals() 方法 比较的是内容 例如:String,Integer 没有重写: 比较的是地址值 现在就能解释为什么 String类 使用 equals() 方法比较返回的是true了,因为String 类重写了 Object 类的 eq

2022-05-06 18:23:29 425

原创 SpringSecurity+Vue:实现添加登录图片验证码

第一步,准备一个可以生成验证码的类或者jar包,我这里就用工具类了,网上随便找的一个工具类/** * 生成图片验证码的工具类 */public class VerifyCode { private int w = 70; private int h = 35; private Random r = new Random(); // {"宋体", "华文楷体", "黑体", "华文新魏", "华文隶书", "微软雅黑", "楷体_GB2312"} priva

2022-05-06 16:32:38 672

原创 搞清楚equals()和hashCode()

声明在哪?equals() 和 hashCode() 声明在所有类的父类Object类中public class Object { public native int hashCode(); public boolean equals(Object obj) { return (this == obj); }}解释:equals 方法 当x和y引用的是同一个对象时,此方法返回true hashCode 方法 navite 代表这是

2022-05-05 23:26:54 734

空空如也

空空如也

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

TA关注的人

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