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

原创 数据库用sql递归查找组织的叶子节点

数据库进行递归查找叶子节点

2024-08-06 21:30:00 86

原创 响应式编程——Reactive-Stream学习

Reactive类似于,在各个系统通信的时候,运用了Kafka、mq进行消息传输,只不过是在本地进行自己的异步操作。对应正压模式,正压模式指的是生产者对消费者的压力。背压指的是消费者对生产者的压力。

2024-07-18 20:15:00 104

原创 设计模式——观察者模式

java提供了观察者模式的接口和父类,用于自定义观察者和主题可以发现在执行完set方法后,控制台输出了定义好的语句。

2024-06-28 21:30:00 144

原创 事务的基本概念

在MySql默认引擎InnoDB中,默认是可重复读。其中SQL存储引擎的标准是4种。事物的特性主要是ACID,即原子、一致、隔离、持久。每一个事务即是一个最小个体,不可被分割。事务执行前后,数据处于一致的状态。则会对 id=2 的数据进行更新。并发的两个事务之间,互不干扰。已经提交的事务,不能被回滚。对于幻读和不可重复的的区别。

2024-06-19 21:00:00 428

原创 单例模式中懒汉式的两种写法

静态内部类同样可以实现全局只是用一个单例。

2024-06-13 19:00:00 154

原创 MyBatis源码阅读——从子查询学习延迟加载

在查询到第一次sql的时候(A),如果缓存里没有值,则将A插入到一级缓存,值为占位符。当再次到A的时候,A的缓存为占位符,则将A扔到延迟加载队列。在执行BaseExecutor的时候,会对queryStack进行++,当queryStack为0的时候,才会进行对主查询的处理。直接说结论:没有出现循环依赖。MyBatis是怎么解决的呢,我们先来看一下子查询,MyBatis的查询过程。在所有的子查询处理完毕后,queryStack为0,再开始处理延迟加载队列里的查询,将值赋给A。具体流程,例如A->B->A。

2024-05-29 22:51:21 138

原创 mybatis映射体系——学习反射包装思路

其主要实现了迭代器,来进行判断是否有children,在运用方面进行递归,就可以循环遍历传进来的string。这种写法当然可以,但是显得相当臃肿,并且不能进行复用,我们先看看MyBatis给我们的方法。对于一个comments[0].user.name,会循环递归,直到获取最后一个值。对于我们正常的反射,我们可以进行以下操作,来进行getter方法。下来就是根据集合去get,或者通过反射去获取属性名,以下略过。看迭代器里的index是否不为空,不为空则代表是集合的下标。我们可以学习一下分词器的代码。

2024-05-29 20:00:00 316

原创 update中join代替case when进行条件更新

在进行更新数据的时候,需要更新多条数据,由于不想一条一条写update,因此想用case when来进行批量更新。(测试数据23W条,更新15条数据,需要0.8s)但是,表中有几十万条数据,更新会很慢。经过测试,同样15条用时0.22s左右。于是经过思考,考虑用。

2024-05-11 16:58:41 221 1

原创 MyBatis源码阅读-statementHandler

其中只有prepare是准备statement,但是如果想要获取预编译的statement怎么办呢?分别是返回一个普通的statement、预处理statement和存储过程statement。statementHandler有三个子类分别实现了这个功能。和Executor相似,他们的结构也分为1对1对3。

2024-04-19 15:09:59 191

原创 MyBatis源码阅读-Executor

mybatis分为主要分为4个部分我们先来看会话的部分-SqlSessionSqlSession采用门面模式,其中SqlSession只提供接口Api,实现功能全都交给Executor执行器执行。Executor的基本功能只提供 修改,查询和缓存维护的操作。其中修改和查询是JDBC原生只提供的接口。

2024-04-19 13:45:33 895

原创 每日一题(3)

因为前端时间刚学习了Stream流,尝试用Stream流一行写出。经过了许多的修改,终于完成。

2024-01-17 14:33:12 306

原创 每日一题:2719

第一次解法超时,但也学到了很多。,数位DP,开始学习新的知识。下面附第一次写的代码(之后,在题解中看到了。

2024-01-16 14:45:47 418 1

原创 每日一题:82题

每日一题

2024-01-15 20:08:08 535

原创 Stream流学习

学习stream流总结

2024-01-15 17:09:37 1644

空空如也

空空如也

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

TA关注的人

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