- 博客(29)
- 收藏
- 关注
原创 MySQL:深入总结锁机制
mysql里有哪些锁?MySQL的乐观锁和悲观锁了解吗?遇到过MySQL死锁问题吗,你是如何解决的?MySQL两个线程的update语句同时处理一条数据,会不会有阻塞?两条update语句处理一张表的不同的主键范围的记录,一个<10,一个>15,会不会遇到阻塞?底层是为什么的?如果2个范围不是主键或索引?还会阻塞吗?
2025-06-24 20:00:36
846
原创 MySQL 三大日志:Redo、Undo 与 Binlog 详解
三大日志的区别与作用?SQL 更新操作中三大日志的协同工作?两阶段提交?博主总结(博主对自己只想点赞)
2025-06-19 22:22:37
1079
1
原创 MySQL事务——博主总结
·MySQL事务的四大特性说一下?四大特性是什么?ACID如何保证?事务的隔离级别?事务的隔离级别有哪些?这四种隔离级别具体是如何实现的呢?mysql默认级别是什么?可重复读隔离级别。mysql并发相关问题?在同时处理多个事务的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantomread)的问题。mysql的是怎么解决并发问题的?·不可重复读?之前读到的数据和现在读到的数据出现内容不一致。·幻读?之前读到的数据
2025-06-11 11:52:13
768
2
原创 MySQL存储引擎--深度解析
存储引擎的选择。InnoDB和 MyISAM主要有什么区别?InnoDB的 Buffer Pool了解吗? (补充)Buffer Pool是什么?作用?Buffer Pool的默认大小是多少?buffer_pool的默认大小InnoDB对LRU算法的优化了解吗?
2025-06-11 11:49:19
707
原创 线程池实战——实现动态线程池
实现动态线程池。从业务场景(快速响应、批量任务)引出问题,聚焦动态线程池设计(参数动态化、负载/任务/状态监控),实践总结逻辑链。
2025-06-10 13:04:35
937
原创 Java中的阻塞队列
详解 Java 7 大阻塞队列,剖析 ArrayBlockingQueue 等核心类型特性,深入解读实现原理,并结合生产者 - 消费者模型、线程池应用场景,助你掌握多线程开发关键技术。
2025-06-05 21:11:43
660
原创 线程池实战——实现Web服务器
基于该技术的简单 Web 服务器实战示例,深入解读线程池原理与应用,旨在为理解线程池内部机制及在 Web 场景下的应用提供全面参考。本文聚焦 Java 线程池中的 Worker 类,先剖析其不直接使用 Thread 类的缘由,详述核心结构、执行流程,总结关键点并阐释设计优势。继而引入线程池技术。
2025-05-26 13:32:43
1505
2
原创 线程池实战——实现数据库连接池
面对高并发场景下数据库连接难题,通过 CountDownLatch 与等待超时模式,协调线程、避免阻塞,运用动态代理构建线程安全连接池,实现高效连接管理,为高并发下资源管理提供实用方案。
2025-05-25 16:48:01
953
2
原创 Java并发编程:基础全解析
想快速入门 Java 并发编程?这篇文章从线程核心概念切入,带你认识线程本质、优先级、状态及 Daemon 线程;详解线程启动、终止与安全关闭的方法,剖析过期操作的风险;还介绍volatile、synchronized等线程通信利器,以及等待 / 通知机制、ThreadLocal等实用技术 ,并结合数据库连接池实例,助你快速掌握并发编程基础,开启高效编程之旅!
2025-05-25 00:07:25
1352
2
原创 《别再懵圈!一文读懂线程池源码逻辑》
首先从上帝视角全局梳理,接着分析需要理解的点,最后以及需要掌握的点,总结贯穿其中。相信你们会受益匪浅!
2025-05-24 00:01:39
1336
3
原创 博主自己的线程池总结:书籍+数篇文章
一、为什么使用线程池有什么好处?可以包装的使用场景?四、面试官:你在项目中是怎样使用线程池的?二、线程池包含哪些参数(七大线程池参数,另外三个参数)二、线程池的5大状态?二、线程池怎么关闭?三、线程池execute方法的执行流程。三、面试官:execute0提交任务和submit0提交任务有啥不同?三、线程池的拒绝策略有哪四种?怎么自定义实现拒绝策略?三、线程池有哪几种阻塞队列?四、面试官:刚你说到了通过ThreadPoolExecutor来创建线程...五、面试官:再说下
2025-05-23 10:05:15
997
3
原创 并发编程:各种锁机制、锁区别、并发工具类深刻总结
1、各种锁全面快速了解。2、悲观锁和乐观锁详解。3、synchronized和volatile区别?4、synchronized和reentrantLock区别?5、公平锁和非公平锁区别?6、可中断锁和不可中断锁区别?7、共享锁和独占锁区别?8、并发工具类
2025-05-22 14:51:58
1116
1
原创 真正理解synchronized:从使用到原理的深度解析
看完本文真的够了!!!一、synchronized 的基础使用。二、synchronized 的核心特性。三、synchronized 如何保证可见性与有序性。四、synchronized 的锁升级机制。五、synchronized 的底层实现:对象监视器 monitor。
2025-05-22 10:10:11
1106
1
原创 零基础理解:从Reentranlock深入AQS
是什么?AQS(抽象队列同步器AbstractQuerySynchronized)是并发编程中的重要工具,提供了线程的阻塞和唤醒功能。数据结构?AQS 核心方法总结。以ReentrantLock为例,理解数据结构使用可以参考ReentrantLock的执行流程。
2025-05-21 23:38:00
714
1
原创 高性能锁机制 CAS
通俗易懂,由浅入深。CAS(Compare And Swap,比较与交换)作为一种无锁的原子操作机制。一、CAS 核心原理。二、Unsafe 类与底层硬件协同实现CAS:。三、通过atomic类调用Unsafe类实现原子性操作。四、CAS 的问题与解决方案
2025-05-20 00:02:54
1095
2
原创 真正全面吃透ThreadLocal:原理、应用与陷阱
·ThreadLocal(它允许每个线程都拥有自己的独立副本,从而实现线程隔离)。作用是什么?用它的好处?ThreadLocal内部结构设计(怎么设计?好处是什么?)。内存泄漏问题hash冲突问题(扩容)。其它(get、set方法)。
2025-05-19 00:09:08
943
原创 清晰万字解析:Java内存模型(JMM)
//Java内存模型JMM用来描述多线程环境中共享变量的内存可见性。//JMM和 Java 运行时内存区域的划分,这两者既有差别又有联系。//JMM内存可见性问题(为什么出现?在哪里出现?怎么解决?)。//JMM 与重排序(保证运行高效)。//JMM与顺序一致性模型(保证答案正确)。
2025-05-18 00:36:04
1125
原创 Volatile:Java 并发编程中的轻量级同步利器
Volatile(怎么解决JMM数据竞争?)。保证可见性?怎么实现保证可见性的?(插入内存屏障)。怎么保证内存有序性?(禁止指令重排序)。volatile 并不能保证引用对象内部状态的线程安全。
2025-05-17 00:38:17
1970
3
原创 一文读懂 HashMap 核心原理
一、数据结构:数组 + 链表 + 红黑树。二、容量机制:初始容量与扩容。三、核心操作流程。四、哈希冲突处理与优化。五、线程安全性对比
2025-05-16 09:34:58
646
1
原创 面试官:说说你对面向对象的理解?看本文跟着博主吟唱,可直接背诵后对着面试官输出。
面向对象理解(直接背,里面的问题总结接着后面部分就有)首先,面向对象编程是一种编程范式。其次,面向对象主要思想就是将要解决问题所需要的每一部分流程封装为对象,然后通过对象与对象之间进行交互来解决问题。此外,面向对象主要的特性我总结了有四个分别是抽象、封装、继承、多态,我观察它们之间是有一个逻辑层次性在里面,首先先是将一类对象的公共特征抽象成一个模板类,模板类里面含有公共属性和公共方法,其中并不关注具体细节主要是为了复用代码。然后通过将数据和抽象类结合封装对象来实现其中的具体细节,从外界来看对象是一个完
2025-05-15 16:55:22
388
原创 一文理清 Java IO 流与IO网络模型:从基础到实战
IO流(分类?IO网络模型?) 字节流 字节输入流:FileInputStream 字节输出流:FileOutputStream write()、read() 字符流 字符输入流FileReader 字符输出流:FileWriter write()、read() 缓冲字节流 字节缓冲输入流:BufferedInputStream 字节缓冲输出流:Buff
2025-05-15 11:10:10
875
3
原创 代码世界的“分身术”:深克隆与浅克隆大揭秘
深克隆与浅克隆区别克隆前都要实现Cloneable接口,这是一个标记接口,表示可以被克隆浅克隆:对于值类型字段,浅克隆后的对象和原对象共享引用类型的字段(即它们指向同一个内存地址)。深克隆:深克隆不仅复制对象本身,还会递归地复制对象内部的所有引用类型字段,创建一个完全独立的对象。深克隆后的对象和原对象是完全独立的,修改克隆对象的引用类型字段不会影响原对象。需要重写clone()很笨重,也可以通过⭕序列化和非序列化、⭕先将对象转换成JSON字符串,然后再将JSON字符串转换成新对象、⭕使用第三方克隆工具
2025-05-14 17:38:04
856
原创 深入剖析 Java 反射:从原理到实战
反射(是什么?怎么用?慢的原因?)反射是什么:反射允许对类对象、构造方法、成员变量、成员方法进行编程访问,作用是获取类信息再执行业务逻辑和结合配置文件动态的创建对象并调用方法。反射获取类对象:Class.forName("全类名")、类名.class、对象名.getClass()反射获取构造方法:getConstructor()反射获取成员变量:getField()反射获取成员方法:getMethod()反射慢的原因:反射涉及动态解析,因此不能执行某些Java虚拟机优化,例如JIT使用反射时
2025-05-13 12:16:30
1157
原创 代码世界的 “身份验证官”:equals 与 hashCode 的奇妙之旅
重写equal原因:在大多数情况来说,equals 的判断是没有什么意义的!因为它是比较地址。例如,使用 Object 中的 equals 比较两个自定义的对象是否相等,这就完全没有意义(因为无论对象是否相等,结果都是 false)。重写hashcode原因:没有重写 hashCode 方法,会直接执行 Object 中的 hashCode 方法,而 Object 中的 hashCode 方法对比的是引用地址。
2025-05-09 18:30:09
521
原创 微服务架构-全面疏通-快速理解
微服务怎么描述。微服务怎么发布、订阅。微服务怎么监控。微服务怎么治理。故障怎么定位。微服务怎么优化。相信看完能够快速串联并理解微服务!
2025-04-02 00:26:42
709
原创 技术栈基本介绍
Spring MVC则是Spring中负责处理网页请求的部分,它决定了用户怎么与程序互动,背后如何处理用户发来的信息。比如用户登录后,你可以把用户信息放在Redis里,下次再用的时候就不用从MySQL数据库中查了,这样可以提升程序的速度。处理用户请求:JavaWeb是你写的后端程序与用户(比如浏览网页的用户)互动的部分。比如你的程序需要处理很多用户请求,JUC就像是一个分配器,帮你合理安排这些任务,确保多个请求不会互相干扰。好的,我会用简单的语言来解释这些技术栈之间的关系,帮助你理解它们是如何一起工作的。
2025-03-06 00:28:11
419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人