自定义博客皮肤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)
  • 收藏
  • 关注

原创 Seata的四种事务模式的优缺点分析

Seata公有四种分布式事务模式,XA、AT、TCC和SAGA,下面简要记录一下这几种分布式事务的优缺点。

2024-02-20 11:40:13 1118

原创 简单记一下spring整合mybatis的原理

spring与mybatis是日常开发工作中两个很流行的框架,这里简单记录一下这两个框架的整合原理。首先明确一点,spring框架扫描的对象是类,在项目启动的时候,spring会根据配置文件扫描项目中的目标类并将其解析为一个一个的BeanDefinition记录下来,然后再通过BeanDefinition反射构建出真正的对象进行自动装配。

2024-02-19 17:05:04 408

原创 及其简单的mybatis核心流程

Mybatis执行核心流程

2024-02-01 11:23:52 409

原创 本地docker镜像推送到远程仓库

【代码】本地docker镜像推送到远程仓库。

2023-10-21 08:58:40 147

原创 采用工厂模式+策略模式实现一个拦截组件

因为在用户使用过程中,为了安全和成本考虑,需要对用户的访问次数以及用户提问信息进行控制,因此写了一个拦截功能,该功能基于工厂+策略模式实现。采用工厂模式后,就可以将每个拦截的逻辑独立写成一个一个的类对象,各司其职,在调用时也仅需要获取到工厂对象后,按需根据传入的编码执行拦截逻辑。使代码具有更高的通用性,提高代码编写质量。在这里仅用拦截次数举例,如果想扩展更多拦截逻辑也很方便,仅需要编写新的拦截逻辑的类并且在类上加上@LogicStrategy注解即可。ILogicFilter 定义行为的接口。

2023-10-18 21:19:11 190

原创 Docker 搭建Jrebel破解服务器 Mac

笔者是mac M1版本,但这个镜像window应该也是能用的。在docker中启动好后,直接进入idea进行激活即可。

2023-10-12 17:41:23 783

原创 Myabtis批量更新报错记录

近期在项目中遇到一个需要批量更新的场景,因此想到了使用Mybatis的 foreach 标签来完成,Mapper里的sql如下:<update id="" parameterType="java.util.List"> <foreach collection="list" item="item" separator=";" > update xxxx set enabled = 1 <

2021-07-12 20:43:53 147

原创 SpringAOP练习笔记

SpringAOP练习笔记相关名词横切关注点:跨越应用程序多个模块的方法或功能。即是,与我们业务逻辑无关的,但是我们需要关注的部分,就是横切关注点,如日志,俺去那,缓存,事务等等。切面(Aspect):横切关注点被模块化的特殊对象,即,它是一个类。通知(Advice):切面必须要完成的工作。即,它是类中的一个方法。目标(Target):被通知对象。代理(Proxy):向目标对象应用通知后创建的对象。切入点(PointCut):切面通知执行的“地点”的定义。连接点(JointPoint):与

2020-12-10 10:34:08 184

原创 简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别

IO模型IO模型简单来说就是进程切换的模型。以下所有事例都是使用Linux下的系统调用recv作为例子。阻塞IO模型使用recv的默认参数一直等数据直到拷贝到用户空间,这段时间内进程始终阻塞。A同学用杯子装水,打开水龙头装满水然后离开。这一过程就可以看成是使用了阻塞IO模型,因为如果水龙头没有水,他也要等到有水并装满杯子才能离开去做别的事,很显然,这种IO是同步的。非阻塞IO模型改变flag,让recv不管有没有获取到数据都返回,如果没有数据那么一段时间后再调用recv看看,如此循环。B同

2020-10-08 10:10:27 330

原创 聊一聊索引那些事儿

为什么要给表加上主键?一个没加主键的表,它的数据无序的放置在磁盘存储器上,一行一行的排列的很整齐,跟我们平时认知的表很接近。如果给表加上了主键,那么表在磁盘上的存储结构就由整齐排列的结构转变成了树状结构,也就是平衡树结构,换句话说,整个表就变成了一个索引。没错,整个表变成了一个索引,这就是所谓的聚集索引。这就是为什么一个表只能有一个主键,一个表只能有一个聚集索引,因为主键的作用就是把表的数据格式转换成索引(平衡树)的格式放置。select * from table where id = 1234;

2020-09-04 16:24:45 169

原创 二叉树的前序、中序、后序遍历方法合集

树是数据结构中一个非常重要的内容,本文介绍关于树的前序、中序、后序遍历算法,分为递归和迭代两种不同的形式。递归解法递归的思路很简单,就是要清楚你想要做什么,什么时候停止。前序遍历代码片段public static void preOrderRecur(TreeNode root){ if(root == null){ return; } //前序遍历输出为gen左右 //...

2020-05-02 10:49:04 165

原创 锁及Synchronized实现原理分析

Java锁的定义锁的内存语义锁可以让临界区互斥执行,还可以让释放锁的线程向同一个锁的线程发送消息;锁的释放要遵循Happens-before原则(锁规则:解锁必然发生在随后的加锁之前);锁在Java中的具体表现是Synchronized和Lock;锁的释放线程A释放锁后,会将其共享变更操作刷新到主内存中。锁的获取线程B获取锁时,JVM会将该线程的本地内存置为无效,被监视器保护...

2020-04-25 12:11:41 194

原创 org.apache.jasper.JasperException:解决办法!

org.apache.jasper.JasperException: The absolute uri: http://itcast.cn/common/ cannot be resolved in either web.xml or the jar files deployed with this application解决办法今天在完成SSM框架整合的时候,使用eclipse在tomcat运...

2020-04-21 17:32:31 17462

转载 Spring常见面试题详解(附答案)

原文转自:https://blog.csdn.net/a745233700/article/details/80959716Spring是什么?        Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务...

2020-04-15 10:24:37 343

原创 一份通俗易懂的ThreadLocal笔记

ThreadLocal的定义ThreadLocal通过为每一个线程提供一个独立的变量不笨解决了变量并发访问的冲突问题。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立的改变自己的副本,而不会影响其他线程所对应的副本。在ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的key为线...

2020-04-14 11:49:58 341 1

原创 tcp三次握手、四次挥手笔记

TCP协议介绍TCP是一种面向连接的、可靠的基于字节流的传输层通信协议。TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到数据进行确认、对失序的数据重新排序、丢弃重复数据。TCP的特点有:1.TCP是面向连接的运输层协议;2.每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的;3.TCP提供可靠交付的服务(传输的数据无差错、不丢失、不重复、并且按序到达)4.T...

2020-04-11 09:14:39 208

原创 笔记-进程与线程的理解

每次一提到进程和线程,自己就会有一种似懂非懂的感觉,隐约知道他们分别是什么,但好像又不能非常清楚的将他们描述,因此写这篇文章来认真的梳理一下。抽象类比单cpu:一台单核处理器计算机 = 一个车间;多cpu:一台多核处理器 = 一座工厂;进程:一个车间 = 一个进程(即一个运行的程序);多进程:一座工厂可以同时运行多个车间;cup和进程:单cpu只能同时运行单个进程,多cpu可以同时运...

2020-04-10 09:45:19 127

原创 浅显易懂Https加密传输原理

https加密流程https是一种加密传输协议,基于非对称加密算法和对称加密算法的协作使用。1.Https对称加密服务器每次发送真实数据前,会先生成一把密钥传输给客户端,服务器给客户端发送的真实数据会实现用这把密钥进行加密,客户端收到加密数据后再用密钥进行解密。(客户端给服务器发送数据同理)图一.Https对称加密2.单一使用对称加密可能产生的问题1.拦截客户端报文,伪造密钥当客户...

2020-04-09 18:02:20 483

原创 HashMap笔记-索引计算及基本方法流程分析

本篇是HashMap笔记第二篇,在上一篇中分析了HashMap的底层结构,让我们对HashMap有了一个整体印象,在这一篇文章中,我将重点分析HashMap如何通过索引存储及获取数据。一. HashMap的索引计算方法HashMap通过put(key,value)来执行存储数据操作,通过get(key)来获取数据,而在这过程中存储的索引是非常重要的,它相当于一个坐标,有了它,就能保证我们在使用...

2020-04-08 16:25:02 2993 1

原创 HashMap笔记--底层结构

背景:HashMap是数据结构中一个非常重要的知识点,如果能很好的理解它,对于在今后对其应用以及找工作面试中都会有很大的帮助,因此写这篇文章来归纳一下自己对于HashMap的学习。本篇笔记主要是分析一下HashMap的底层结构。HashMap介绍1.HashMap是用于存储key-value键值对的集合;2.HashMap根据键的hashCode值存储数据,大多数情况下可以直接定位到它的...

2020-04-08 11:14:17 227

原创 eclipse的Junit测试提示initializationError出错解决办法

eclipse的Junit测试提示initializationError出错解决办法最近在进行Junit测试时,老是运行出错,提示initializationError,刚开始不知道什么情况,上网查找原因,网上的很多解释大部分都是说导的包少了,刚开始我也信了,但想想以前测试怎么没有出错,如果是包导少了,那应该是 第一次使用Junit测试的时候就出错才对啊!于是我继续查找原因,终于找到了错误原因...

2020-04-07 09:43:27 2149

空空如也

空空如也

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

TA关注的人

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