自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL

一个重要的点是:MDL的写锁优先级高于读锁,因此如果有一个写MDL被阻塞时,后续的所有读操作都会被阻塞,因为读的时候会加读MDL,但他们优先级在写MDL后面,高优先的都被阻塞了,那低优先的当然也会被阻塞,但是实际上如果没有MDL,读MDL相互之间是可以共享的。当事务启动时,会创建一个ReadView,然后之后该事务的读的版本都是最小事务ID之前的版本。直观来说,当1行数据的占用空间增加之后,1个数据页能够存储的记录数就少,需要的节点就更多,造成B+树的层数就越高,磁盘IO次数增加,最终引起查询时间增加。

2024-09-10 11:18:08 577 1

原创 Maven依赖冲突

比如类 C 在 Jar 包 A、B 中都存在,且两个版本的 C 都出现在相同级别(Bootstrap、Extension、Application等)的类路径下,那么类加载的先后顺序就决定了 JVM 选择的最终版本(根据双亲委派机制,先被加载的类会阻止后面的类继续加载,防止核心类被覆盖掉),选择了错误的 C 会导致出现上述第二类依赖冲突。为了解决这类问题,需要把不是目标类的那个依赖排除。先来后到原则:当依赖链长度相同时,即A-X(1.0)和A-X(2.0) 的情况,会按照依赖的声明顺序决定采用哪个版本。

2024-07-26 12:22:10 345

原创 Git使用手册

Git基础使用手册1 安装略2 初始化2.1 自己新开始一个项目新建一个文件夹/找到你的项目文件夹,cd到目标目录后执行:git init---------------以下是执行结果---------Initialized empty Git repository in /xxx(这是你的目标目录)2.2 拉取已存在项目cd到你想放置新项目的位置后执行:git clone xxxx(拟拉取项目的url)---------------以下是执行结果---------

2024-07-26 12:20:52 731

原创 Java并发

AQS是一个抽象类,定义了一个同步器框架(ReentrantLock、Semaphore、CountDownLatch等都基于此实现),在留出一些可供开发者自行实现的方法同时帮助开发者完成了复杂的底层设计(比如锁的竞争,等待队列等)。AQS两个关键的方法是acquire和release,流程将在3.1.2和3.1.3中介绍。通过一个volatile int state变量来标记当前线程是否被加锁。当尝试获取锁失败时,会将当前线程加入到CLH队列中。

2024-06-20 09:16:26 582

原创 Java基础知识整理

流程控制包含了指挥计算机干活的最基础的控制语句,其中包括分支(if…else…, switch…case…)、循环(while…, do…while…, for…)、跳转(break+lable(通过“lable:”声明位置), continue+lable)。类是对数据类型进一步整合,定义了某类实体的结构和动作,类是面向对象编程的一个核心部分,面向对象编程思想需要通过类来实践。异常同样是一个类,异常分为Error和Exception,都继承自Throwable类。

2024-06-19 20:10:49 837

原创 [一句话讲清]ThreadLocal为什么会内存泄漏?

但是,当线程存在,也就是Thread还没被销毁时,Thread会强引用ThreaLocalMap,此时ThreaLocalMap中的key2被销毁了,但是其对应的value2还没被销毁,但是也招不到了,此时就泄漏了。现在有一个ThreadLocal对象tl2被销毁,那么tl2强引用的堆中的ThreadLocal对象也会在内存不够用时回收,自然地,该对象弱引用的key2(key就是一个ThreadLocal对象)也会被回收。如果ThreadLocal。了,就发生了内存泄漏。

2024-03-12 16:25:42 468

原创 [已解决]org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

【代码】[已解决]org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

2024-03-10 14:38:10 741

原创 Web后端技术栈简要总结

Cookie、Session、Servelet、JSP、JDBC等,这些技术都是由Java官方提供的API。:Servlet是JavaWeb开发中的一种服务器端组件,用于处理客户端的请求并生成响应。Servlet通过实现特定的接口来处理HTTP请求,通常用于构建Web应用程序的后端逻辑。:JSP(JavaServer Pages)是一种用于构建动态Web页面的技术,它允许开发人员在HTML页面中嵌入Java代码。JSP页面在被访问时会被服务器动态解析并生成最终的HTML响应。

2024-03-04 20:58:30 2227

原创 Java SpringBoot各种参数配置方式的优先级

优先级从高到低(即优先级高的操作会覆盖优先级低的操作)依次是:

2024-03-03 20:26:25 492

原创 Java在Windows Shell下系统设置 错误: 找不到或无法加载主类.port

这个命令的含义是对虚拟机进行设置,其中-D后面直接(不要有空格)加“”,意思是将端口号设置成10010。

2024-03-03 20:20:51 471

原创 SpringBoot-AOP基于注解的切入不生效问题

被注解后虽然不会报错,但是连接也并不会生效,即。在使用注解的方式选择。

2024-03-03 19:21:28 832

原创 [PageHelper Bug] java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.github.page

具体原因还是不清楚,希望路过大佬指点。

2024-02-28 15:32:22 670

空空如也

空空如也

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

TA关注的人

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