自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 InnoDB 与 MyISAM 区别

InnoDB 与 MyISAM 区别

2022-08-12 11:25:09 295 1

原创 mysql 索引结构

假设现在以主键索引来维护这棵树,一般会用bigint、int,假设我们用bigint,mysql 里面大概是8 byte,根节点大概是16kb, 16kb * (8+6)约等于1170 个索引元素,叶子结点是16kb,除了索引元素还有data 元素,1170 * 1170 * 16 约等于两千多万…我们要查找30,首先把根节点所有的字段放到内存中,然后在内存中做比对,因为他是从左到右依次递增,因此我们可以折半查找,找到在15-56之间,继续在分叉节点进行查找,整个查找过程经历三次的磁盘io。......

2022-08-10 18:08:25 256

原创 多线程基础

1.进程和线程,并行和并发一个程序就是一个进程,一个程序中多个任务就是多个线程,进程表示资源分配的基本单位,线程是进程中执行运算的基本单位,也是调度运行的基本单位2.为什么使用多线程一段时间内,多个任务都需要有进展的情况,使用多线程会加大资源消耗,所以不是什么情况下都要用比如redis,es,解决的是好不好的问题,没有也能用,就是速度慢,效率低但多线程使用,解决的是能不能的问题例如:8:00数学 10:10语文 2:00英语 4:10政治一个对象若干个功能,依次调用,做完一个再做另一个如果

2020-05-21 11:38:05 316 1

原创 SpringCloudClient

1.创建client2.创建完成之后不要写代码、要看eureka项目与client项目对应的版本是否一致3.3.启动类加注解4.配置文件5.启动先启动eureka项目、再启动client项目。6.添加配置重启项目 点击刚才的链接、出现新的页面的地址栏中就会出现8.eureka高可用、创建两个eureka 互相注册EurekaApplication2同上9.修改并启动访问localhost:8761再修改访问localhost:8762就会发现client

2020-05-16 09:03:02 696

原创 final,finally,finalize的区别

在Java中,final、finally和finalize是三个不同的关键字,它们具有不同的作用和用法.

2025-07-08 16:03:57 65

原创 在 Redis 分布式锁场景中,锁超时但业务逻辑未完成解决方案

推荐方案:优先使用自动续期(看门狗),如Redisson框架,简单可靠。适用场景短业务:预估超时时间+ Lua脚本释放锁长业务:分段处理 + 状态记录强一致性:结合数据库事务补偿根据业务特点选择合适的方案,避免锁超时导致的并发问题。

2025-07-03 12:05:37 167

原创 List、Set、Map三者之间的关系

以下是生成的6行4列表格(Markdown格式):List

2025-07-02 17:02:49 913

原创 linux系统的常用命令

符号模式:chmod u+x filename (给所有者添加执行权限), chmod o-w filename (移除其他用户的写权限), chmod a=r filename (所有用户只有读权限)tar -czvf archive.tar.gz file1 dir1/:创建 © gzip (z) 压缩包,显示过程 (v),指定文件名 (f)cut -d’,’ -f1,3 data.csv:按逗号 (,) 分隔符 (-d) 取第 1 和第 3 个字段 (-f)

2025-07-02 11:53:48 681

原创 统一认证登录双令牌机制的具体实现

2025-07-01 10:13:00 172

原创 SpringCloud 核心组件及其应用

Eureka 将各个服务维护在了一个服务清单中(双层map,第一层key 是服务名,低层key 是实例名,value是服务地址加端口)。Ribbon :服务间发起请求的时候,基于Ribbon 做负载均衡,从一个服务的多台机器中选自一台(被调用方的服务地址有多个),Ribbon 也是通过发起http请求,来进行的调用,只不过是通过调用服务名的地址来实现的,发现:eureka 注册的服务之间调用不需要指定服务地址,而是通过服务名向注册中心咨询,并获取所有服务实例清单(缓存到本地),然后发现服务的请求访问。

2025-06-25 00:24:24 169

原创 内存泄漏和内存溢出的区别

或者,因为之前很多人租了小房间不还(内存泄漏),导致现在连一个能容纳 10 人的小会议室都租不到了(累积导致 OOM)。可用的空房子(可用内存)越来越少,最终新租客(新内存请求)租不到房子了(OOM)。解决内存溢出通常需要先排查是否存在内存泄漏。: 内存溢出也可能单纯因为一次性申请的内存过大(超过配置上限)或瞬时压力过大(如高并发创建对象)造成,此时可能并不存在长期的内存泄漏。内存设置过小: JVM 堆内存(-Xmx)或其他内存区域(如栈 -Xss, 方法区/元空间)配置得太小,不足以支撑应用正常运行。

2025-06-25 00:15:23 2296 1

原创 synchronized的技巧与要点

同步代码块:通过 monitorenter 和 monitorexit 指令实现(编译后插入字节码)。同步方法:方法常量池中设置 ACC_SYNCHRONIZED 标志,调用时隐式获取锁。线程通过CAS竞争进入 _owner,失败则进入 _EntryList 阻塞。3、 _WaitSet:调用 wait() 后进入的等待队列。3、轻量级锁(Lightweight Lock)2、_EntryList:阻塞等待锁的线程队列。原理:通过CAS自旋尝试获取锁(避免线程阻塞)1、 _owner:持有锁的线程。

2025-06-24 19:51:01 306

原创 mysql 存储过程学习

从SQL执行的流程中我们分析存在的问题:1.如果我们需要重复多次执行相同的SQL,SQL执行都需要通过连接传递到MySQL,并且需要经过编译和执行的步骤;2.如果我们需要执行多个SQL指令,并且第二个SQL指令需要使用第一个SQL指令执行的结果作为参数。

2024-01-26 12:16:27 1186 2

原创 Logstash学习

下载地址: https://www.elastic.co/cn/downloads/logstash。Logstash配置文件有如下三部分组成,其中input、output部分是必须配置,filter部分是可选配置,而filter就是过滤器插件,可以在这部分实现各种日志过滤功能。logstash之所以功能强大和流行,还与其丰富的过滤器插件是分不开的,过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理,甚至添加独特的事件到后续流程中。2、Logstash输入插件(input)

2023-11-02 10:04:59 255

原创 Nginx教程(相关概念)

Nginx 教程之相关概念

2023-07-25 13:42:33 299

原创 手写模拟Spring扫描底层实现

手写模拟Spring扫描底层实现

2022-11-21 16:54:24 308

原创 JMM 内存模型,volatile 实现原理

volatile 实现原理

2022-11-12 15:14:10 252

原创 synchronized底层实现原理

synchronized底层实现原理

2022-11-12 15:08:28 341

原创 mysql 联合索引 (最左前缀优化原则)

mysql

2022-11-11 12:04:02 170

原创 lamda 对 List<Map<String, Object>> 格式数据使用

对 List 格式的数据,对某个进行排序

2022-10-31 18:59:35 648

原创 lamda 复杂类型数据结构封装(五个饼图)

lamda 复杂类型数据结构封装(五个饼图

2022-10-31 11:53:08 224

原创 redis数据结构及其应用场景

redis中存储数据是以key-value的形式去存储的,其中key为String字符串类型,value的数据类型有string、hash、list、set、zset等这五种常用的。这五种数据结构在开发中基本上可以应对大部分场景的数据存储!!下面分别来介绍value的五种数据结构的用法以及使用场景。

2022-10-09 15:01:36 693 1

原创 java中的 异常体系

java中的 异常体系

2022-09-16 11:57:24 168

原创 redis 相关知识

redis 相关知识

2022-09-04 10:23:43 276

原创 Spring事务传播机制,多个事务方法互相调用时,事务如何在这些方法间传播

方法A 是一个事务的方法,方法A 执行过程中调用了方法B,那么方法B 有无事务以及方法B 对事务的要求不同都会对方法A的事务具体执行造成影响,同时方法A的事务对方法B 的事务执行也有影响,这种影响力具体什么就有两个方法所定义的事务传播类型所决定。嵌套事务:在a调用b 的时候,a要是没有事务,b自己开启了一个事务, a要是有事务,b 就嵌套在里面。aop 的缺陷会使事务失效。挂起事务:a里面他已经有事务,b就要把A 的事务挂起,b就自己以事务方式运行,说白了就是a自己处理自己的事务,b自己处理自己的事务。

2022-08-31 22:35:28 3180 4

原创 MacBook版IntelliJ内置Maven的配置文件setting.xml 位置

MacBook版IntelliJ内置Maven的配置文件setting.xml 位置查找

2022-08-31 18:10:40 775

原创 ArrayList 和 LinkedList 区别

ArrayList 和 LinkedList 区别

2022-08-30 22:26:50 220

原创 java中 String、StringBuffer、StringBuilder 区别及使用场景

String、StringBuffer、StringBuilder 区别及使用场景

2022-08-30 21:55:12 1460

原创 redis的缓存穿透、缓存击穿、缓存雪崩的区别

redis的缓存穿透 雪崩击穿

2022-08-30 21:35:33 257

原创 mysql锁的类型有哪些

mysql 的索引类型

2022-08-29 00:00:00 538

原创 GC 是如何判断对象可以被回收的

GC 是如何判断对象可以回收的

2022-08-28 15:45:00 369

原创 java 类加载器有哪些

Java 类加载器

2022-08-28 10:34:09 934

原创 双亲委派模型

双亲委派模型

2022-08-28 10:33:10 421

原创 什么是守护线程,守护线程的作用

守护线程的作用

2022-08-26 23:30:00 1068

原创 接口和抽象类的区别

接口和抽象类的区别

2022-08-26 18:04:37 241

原创 mysql中drop、truncate、delete的区别

mysql中drop、truncate、delete的区别

2022-08-25 16:33:31 1126

原创 索引规约

索引规约

2022-08-25 10:26:06 527

原创 MAC idea端口占用的问题

MAC idea端口占用的问题

2022-08-23 15:17:11 865

原创 内存泄露和内存溢出的区别

内存泄漏和内存溢出的区别

2022-08-23 14:28:03 108

转载 InnoDB 与 MyISAM 区别

聚簇索引 非聚簇索引

2022-08-11 10:31:19 94 1

空空如也

空空如也

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

TA关注的人

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