自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM 核心概念深度解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆。

2025-06-05 11:47:54 1150

原创 MySQL 核心知识点解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆。

2025-06-04 11:58:24 709

原创 Java SE 核心概念解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆。

2025-06-03 10:00:45 491

原创 JavaSE 常见问题解析

浅拷贝:只复制对象本身和其基本类型字段,引用类型字段仍指向原对象引用的对象深拷贝:不仅复制对象本身,还递归复制其所有引用指向的对象。

2025-06-02 11:43:16 891

原创 Spring框架核心知识深度解析

创建模块编写自动配置类:@Configuration@Bean添加文件@Override// 其他方法实现...// 注册自定义作用域。

2025-06-01 10:00:50 831

原创 Java内存模型(JMM)与多线程编程实战

原子性:关注操作是否被中断可见性:关注修改是否及时可见有序性:关注执行顺序是否符合预期。

2025-05-31 10:43:11 977

原创 Java多线程安全深度解析

线程安全指当多个线程访问某个类时,这个类始终能表现出正确的行为,无需额外的同步协调。原子性:操作不可中断可见性:修改立即对其他线程可见有序性:程序执行顺序符合预期。

2025-05-30 11:52:16 911

原创 Executors工具类的潜在问题

Executors是Java提供的线程池创建工具类,封装了常见线程池的创建逻辑,开发者可以通过静态方法快速创建线程池。然而在实际生产环境中,直接使用Executors可能会带来严重问题。

2025-05-29 12:42:36 399

原创 JUC多线程核心知识点深度解析

NEW, // 新建未启动RUNNABLE, // 可运行(包含就绪和运行中)BLOCKED, // 被阻塞(等待监视器锁)WAITING, // 无限期等待(无时限的wait/join/park)TIMED_WAITING, // 限期等待(带时限的sleep/wait/join/park)TERMINATED // 终止。

2025-05-29 12:24:11 743

原创 MySQL三大日志详解:Redo Log、Undo Log和Binlog

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆MySQL作为最流行的关系型数据库之一,其日志系统是保证数据安全、实现事务特性和数据恢复的核心组件。本文将深入解析MySQL的三大日志:Redo Log、Undo Log和Binlog,并回答下图中的常见面试问题。

2025-05-28 11:05:48 1487

原创 Redis分布式锁全面解析:从基础实现到高级特性

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆本文将从这七个经典八股问题来做redis分布式锁🔒的问题解析。

2025-05-27 11:36:00 1138

原创 MySQL事务机制深度解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆。

2025-05-26 11:57:47 806

原创 Redis缓存异常问题深度解析:穿透、击穿与雪崩

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆。

2025-05-25 12:29:13 530

原创 Redis持久化机制:AOF与RDB深度解析

RDB(Redis Database)是Redis的**快照式持久化**方式,通过生成**数据集的二进制快照**文件(dump.rdb)实现持久化。核心特性:二进制压缩存储:紧凑的单文件格式全量备份:保存某个时间点的完整数据状态Fork子进程:通过写时复制(COW)机制保证主进程不阻塞。

2025-05-24 11:48:14 506

原创 MySQL锁机制与MVCC深度解析

多版本并发控制(Multi-Version Concurrency Control)是InnoDB实现高并发的重要机制,通过在同一时刻保存数据多个版本,实现:读操作不阻塞写操作写操作不阻塞读操作解决幻读问题(在RR隔离级别)

2025-05-23 11:44:30 1387 1

原创 MySQL索引原理与面试问题深度解析

本文详细介绍了MySQL索引的基础原理、类型、优化策略及面试高频问题。索引本质上是存储在磁盘上的数据结构,用于快速定位数据,MySQL主要采用B+树作为索引结构。B+树具有多路平衡查找、叶子节点链表连接等特性,适合范围查询和磁盘存储。索引类型包括B+Tree、Hash、Full-text和R-Tree,按逻辑分类则有主键索引、唯一索引、普通索引和组合索引。文章还探讨了聚簇索引与非聚簇索引的区别,并提供了索引优化策略,如避免索引失效、选择区分度高的列、使用覆盖索引等。此外,文章解析了面试中常见的问题

2025-05-22 12:12:07 1144

原创 二叉树与红黑树全面解析

假设最短路径全是黑节点,最长路径是红黑交替,根据性质5(黑节点数相同),最长路径≈2*最短路径。A:红黑树可以看作是一种特殊的2-3-4树(B树的一种)的二叉表示。| 插入删除 | 需要较少旋转(O(1)) | 可能需要更多旋转(O(log n)) |二叉树是每个节点最多有两个子节点的树结构,由根节点和左右子树组成,子树也是二叉树。| 平衡标准 | 弱平衡(最长路径≤2倍最短) | 严格平衡(高度差≤1) |- 情况3:兄弟节点是黑色且兄弟的左孩子是红色,右孩子是黑色。if (当前节点是父的右孩子) {

2025-05-21 11:54:05 220 1

原创 CopyOnWriteArrayList的实现原理详解

CopyOnWriteArrayList是Java并发包(`java.util.concurrent`)中的一个线程安全的List实现,它采用了"写时复制"(Copy-On-Write)策略来保证线程安全。基本特性:- 线程安全,无需额外同步- 适用于读多写少的场景- 迭代器不会抛出ConcurrentModificationException- 每次修改操作都会创建底层数组的新副本。

2025-05-20 12:30:02 463

原创 ConcurrentHashMap实现原理深度解析

ConcurrentHashMap是Java并发包中提供的线程安全HashMap实现,与HashTable不同,它通过更细粒度的锁机制实现了更高的并发性能。JDK1.7和JDK1.8的实现有显著差异。ConcurrentHashMap通过精妙的设计实现了高并发下的线程安全:- JDK1.7采用分段锁降低锁竞争- JDK1.8采用CAS+synchronized进一步细化锁粒度- 读操作完全无锁,写操作只锁定单个哈希桶- 多线程协同扩容提高效率- 是Java并发编程中最重要的工具类之一。

2025-05-19 15:37:46 353

原创 深入理解HashMap:核心原理与常见面试问题解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆。

2025-05-18 12:32:09 788

原创 ArrayList与LinkedList的区别详解

ArrayList和LinkedList是Java中两种常见的集合类,分别基于动态数组和双向链表实现。ArrayList在内存中分配连续空间,支持O(1)的随机访问,但在插入和删除时可能需要移动元素,效率较低。LinkedList则通过节点存储数据,插入和删除效率较高,但随机访问需要遍历链表,效率较低。ArrayList适合频繁随机访问和尾部操作的场景,而LinkedList适合频繁插入删除和实现队列结构的场景。选择时需根据具体需求权衡访问效率和插入删除效率。

2025-05-17 15:48:22 355

原创 关于JWT验证的详细解析

在网上学习黑马项目时学到了登录时利用jwt验证,借此来学习一下jwt的基础知识,同时记录一下。

2025-01-10 15:54:32 589

原创 SpringBoot注解 @PathVariable @RequestParam和@RequestBody的区别与使用

和@PathVariable一样,需要在处理URL的控制方法中获取URL中的参数,也就是?String value:可指定占位符 { } 中的参数名,若只指定value这一个属性可省略属性名不写,若占位符中的参数名和处理方法中的参数名相同可省略此属性。在控制器中的处理方法的形参中使用@PathVariable注解去获取@GetMapping中 { } 中传进来的值,并绑定到处理方法定一的形参上。String defaultValue:参数的默认值,如果请求中没有同名的参数时,该变量默认为此值。

2024-12-24 20:49:48 967

原创 SpringBoot AOP切面编程

AOP概述:AOP: Aspect Oriented Programming即面向特定方法编程。Spring AOP 实现:动态代理是面向切面编程最主要的实现。而SpringAOP是Spring框架的高级技术,旨在管理bean对象过程中,主要通过底层的动态代理机制,对特定的方法进行编程。

2024-12-09 22:20:48 1018

原创 已解决:java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying

在springboot项目启动时遇到这个报错,上网搜了好久,最后发现是自己的数据库配置写错了,导致报错,最后重新配置了数据库,成功运行起来。

2024-10-13 20:33:51 265 2

原创 JAVA中的静态变量

静态变量随着类的加载而加载,且只加载一次,并存储于一块固定的内存区域,其可以直接被类名调用,优先于对象存在,可以被所有对象共享。但是我们推荐使用类名调用,因为所有的对象都共享这个属性,这个属性就不属于某个特定的类,因此用一个特定的对象去调用它,在语法中是可以的,但是不合理,因此我们需要用类名调用。可见,我们分别通过nTotalNumber与nTotalArea来记录矩形总数与矩形面积,在每次进行无参构造时使其加一,最后通过类名访问静态变量可以得到全局的矩形面积与矩形总数。静态变量值为所有对象共享。

2024-10-10 17:37:07 776 5

空空如也

空空如也

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

TA关注的人

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