自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MYSQL 锁机制 与 MVCC多版本并发

因为在RR的隔离级别下,需要解决不可重复读和幻读的问题,如果没有通过索引加锁,那么就会遍历所有的聚簇索引时,都会添加锁,为了防止扫描过的索引被其它事务修改,或间隙(主键为整数1,3之间的间隙就是2)被其它事务插入(幻读),从而导致数据不一致,所以它是把所有的索引记录和间隙都锁上;表锁每次锁住一张表,开销小,因为在表层面直接添加锁标记,不用一条一条查找记录,锁粒度大,发生锁冲突概率高,并发度低,一般在整张表数据迁移的时候,才会用;3,事务id列表为空,则该行数据可见,也就是当前查询的数据行没有事务。

2024-04-06 14:04:47 888

原创 类加载 双亲委派 内存模型 对象内存分配 逃逸分析学习记录

类加载 双亲委派 内存模型 对象内存分配 逃逸分析学习记录

2024-03-29 10:16:56 878

原创 jvm提供的远程调试 简单使用

远程调试 简单使用

2024-03-22 17:39:01 324

原创 MYSQL日志 redo_log更新流程 bin_log以及bin_log数据恢复

MYSQL日志 redo_log更新流程 bin_log生产应用以及bin_log数据恢复

2024-03-18 22:33:55 952

原创 Mysql事务+锁测试 RR行锁升级

这里在不同的数据上添加读锁,但是添加被阻塞了,是因为在RR隔离级别下,要解决幻读,不可重复读等问题,当不是通过索引加锁的话,就会进行升级为表锁;注意这里最好新开启连接查询,这种工具在执行的时候,如果使用执行SQL来执行,他会自动提交;在隔离级别RR下,添加写锁,锁住一行数据,写锁是排它锁,不允许其它的读写、查询事务表,有两个事务,一个是我们还没有提交的事务,一个是等待锁的事务。另外开启一个连接,进行写操作,发现执行没有成功,在等待锁。Mysql事务+锁测试。

2024-03-15 15:19:49 230

原创 MySQL事务 学习笔记

MySQL事务 学习笔记

2024-03-15 00:01:57 539

原创 MYSQL 索引 结构 以及常见优化

MYSQL 索引 以及常见优化

2024-03-12 22:57:16 864

原创 spring原理粗略 +手写简单的spring

spring原理粗略 +手写简单的spring

2024-03-06 23:37:34 634 1

原创 gateway+skywalking链路追踪简单使用

gateway+skywalking链路追踪简单使用

2024-03-05 00:25:15 700 1

原创 spring-cloud学习

nacos sentinel apring-cloud-alibaba 分布式事务+sentinel 学习

2024-02-29 23:39:43 984 1

原创 spring-boot启动源码 servlet spring-boot 内嵌tomcat 外置tomcat

spring-boot启动源码 servlet spring-boot 内嵌tomcat 外置tomcat

2024-02-23 19:36:23 1039 1

原创 spring_boot自定义-启动器stater demo

spring boot 自定义启动器

2024-02-23 16:29:33 635 1

原创 shell脚本学习

要进行运算,首先保证相加的变量都是数字(定义的时候不注释引号),计算加减乘除用expr表达式,可以判断文件的权限,是否可读,可写,可执行等,还可以判断是一个文件夹还是文件,是否存在等。环境变量的查找,首先从当前进程查询变量,当前没有则从父进程查询,一层一层向上。Echo ${name:2:3}表示name值,从第二个字符开始,向后取三位。区别:1,3方式会重新打开一个进程执行,4默认在当前进程执行脚本;Shell:c语言编写的命令解析器,通俗理解操作内核的中间工具;单引号可以由变量,双引号不解析变量。

2024-02-20 15:21:53 226

原创 关于计组和io模型的学习

计组 io模型

2024-02-20 15:03:51 764

原创 记录spring_boot 的web开发学习

spring_boot开发 国际化 统一异常处理 添加自定义接口访问日志 json

2024-02-20 10:30:49 827

原创 记录spring_boot的日志系统学习

首先,添加lombok的依赖,然后idea如果不支持lombok还得下载插件,而且lombok是和JDK版本,它的更新速度没有那么快,添加@Slf4j注解后,可以直接使用,但是实际开发中,只要有一个人用了这个,所有的开发人员都需要配置,所以不太建议;JDK官方提供了日志门面,JCL,不提供实现日志功能,整合日志(它的原理是通过类加载器,来判定是否存在相关的日志接口的实现,如果存在,则使用,不存在,则继续查找其他的)Spring_boot日志文件归档,可以定义日志文件的最大size,和最大的文件数量等。

2024-02-20 09:55:09 977

原创 关于同一个程序不同用户log4j日志时间记录不一致问题

log4j时间不一致问题

2024-02-02 15:25:24 123

原创 记录一次mysql用户权限设置报错Acess denied for user ‘db_user‘@‘%‘ to database ‘db‘

全局——可以管理整个MySQL库——可以管理指定的数据库表——可以管理指定数据库的指定表字段——可以管理指定数据库的指定表的指定字段权限存储在mysql库的这几个系统表中,待MySQL实例启动后就加载到内存中。

2024-01-30 13:02:39 283

原创 关于Log4j的使用问题

由于用的是log4j1.x的版本,由于版本比较低,本身不提供同时满足按天生成日志,限制文件大小和生成多个文件的需求,所以查看fileAppender代码,使用RollingFileAppender可以设置文件大小和限制文件生成的个数,基于这个基础,自定义一个RollingFileAppender,重写setFile()方法,在super.setFile()前切入自定义文件名的操作,就可解决了。2.3日志文件生成了,也有文件了,但是文件中内容除了当前需求的日志,还有很多其它的日志内容。

2023-09-27 18:03:03 29

原创 日常问题总结,mybatis的typeHandler使用

Java目前在用的主流虚拟机,都是采用可达性分析法来判断对象是否可被回收的,它通过若干个根节点组成的集合(GC Roots),向下遍历搜索,遍历的过程就是一条引用链,没有在这个链条上面的对象,是不可能被再次使用的,可以判定为可回收的对象。但是容易出现线程安全问题,此时我们则可以用锁来锁住对象,或者方法或者代码段,尽量减小锁的粒度,如果锁打的粒度比较大,判断锁和等待锁释放的时间会比较长,反而降低程序运行效率。在对象中添加引用的计数器,当被引用家+1,引用失效就-1,当回收时,计数器为0则进行回收;

2023-06-29 22:12:04 120

原创 (场景)单线程处理转换成多线程

(在进行开发的时候,因为很久没有用spring 的IOC了,所以出了一个很基础问题,在写好配置文件和代码后,发现管理类的缓存中始终拿不到对应的线程,一直报空,而管理类的单例对象又存在spring的容器中,期间百度了很久,各种解释,最后发现注入管理类的对象并没有交给spring管理,当时还想,那岂不是是我这要一层一层往上的对象全部都要交给spring,因为项目架构的原因,也不方便交给容器管理,找到原因就好解决问题了,利用SpringContextHolder可以拿到)多线程处理如何保证数据的一致性。

2023-03-27 21:24:33 343

原创 sql查询总结

这里用到了一个IFNULL函数,并且因为存在学生表中有数据,而因为缺考等因数导致成绩表中没有相关学生的成绩数据,所以这种展示就需要用到外连接,(分组也要依靠主表)选择学生表为主表,再用IFNULL函数对空进行处理。注意:内连接对相连接的几张表的数据的null数据进行了删选,所以上面的方法不用处理为null的情况,而下面是先将score表进行了合并,故而存在为null的情况,所以要单独处理。常用的聚合函数有max,min, count,sum,聚合函数的执行在group by之后,having之前。

2023-03-23 23:07:21 120

原创 rank排序记录

思路: 1.从两张相同的表scores分别命名为s1,s2。2.s1中的score与s2中的score比较大小。意思是在输出s1.score的前提下,有多少个s2.score大于等于它。比如当s1.salary=3.65的时候,s2.salary中[4.00,4.00,3.85,3.65,3.65]有5个成绩大于等于他,但是利用count(distinct s2.score)去重可得s1.salary3.65的rank为3 3.group by。该表的每一行都包含了一场比赛的分数。著作权归领扣网络所有。

2023-03-23 23:07:12 37

原创 sql执行顺序以及内连接和外连接ON和WHERE的区别

如果是外连接,把第二步中主表过滤掉的数据进行保留(也就是无论如何,外连接的主表中的数据,在这一步都会是全部数据,所以我们如果想对主表进行筛选,其实这里影响的只是VT2中不满足条件的行数据中,从表的值变为null),从VT2表中把过滤掉的数据的从表的列的值赋予NULL,并生成表VT3。这里进行分组,分组的条件使得同一个组中,所有的原有数据的分组条件都是一致的,所以此时是对组中除条件外的列进行聚合函数的计算,生成虚拟表VT5。进行需要的字段的筛选,并进行字段的表达式的处理,如IF(),并产生虚拟表VT7。

2023-03-22 12:05:30 404 1

原创 poi导入excel表格demo

记录一下用poi导入excel的简单使用

2023-03-03 11:15:18 77

原创 枚举的使用demo

【代码】枚举的使用demo。

2023-02-24 11:37:35 32

原创 java中注解的使用

java中注解demo

2023-02-24 11:23:40 63 1

空空如也

空空如也

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

TA关注的人

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