avatar
文章
37
标签
70
分类
12
主页
时间线
分类
  • AI
  • 工具效率
  • Spring
  • JUC
  • 数据库
  • 网络安全
关于
  • 关于我
  • 备忘录
Supremes
搜索
主页
时间线
分类
  • AI
  • 工具效率
  • Spring
  • JUC
  • 数据库
  • 网络安全
关于
  • 关于我
  • 备忘录

Supremes

MySQL 核心原理笔记:架构、日志、事务、索引与锁
更新于2025-12-28 21:54|数据库
MySQL 核心原理速记,覆盖架构、日志、事务隔离 / MVCC、索引与锁等高频主题。 MySQL 架构 连接器负责和客户端建立连接、获取权限、维持和管理连接。连接命令如下: 1mysql -h $ip -P $port -u $user -p 查询缓存 但是大多数情况下我会建议你不要使用查询缓存,为什么呢?因为查询缓存往往弊大于利。 查询缓存的失效非常频繁,只要有对一个表的更新,这个表上所有的查询缓存都会被清空。因此很可能你费劲地把结果存起来,还没使用呢,就被一个更新全清空了。对于更新压力大的数据库来说,查询缓存的命中率会非常低。除非你的业务就是有一张静态表,很长时间才会更新一次。比如,一个系统配置表,那这张表上的查询才适合使用查询缓存。 MySQL 8.0 版本直接将查询缓存的整块功能删掉了,也就是说 8.0 开始彻底没有这个功能了。 分析器词法、语法分析,分析你SQL语句中的各个字段,确保没有出错。比如识别SELECT 关键字,识别出表单名t. select * from t; 优化器 在表里面有多个索引的时候,决定使用哪个索引 在一个语句有多表关联(j...
设计模式
更新于2025-12-28 16:42
模板方法模式模板方法模式(Template Method Pattern) 是一种行为型设计模式。 简单来说,它在一个方法中定义了一个算法的骨架(步骤),而将一些步骤的具体实现延迟到子类中。这样,子类可以在不改变算法结构的情况下,重新定义算法中的某些特定步骤。 核心思想:封装不变,扩展可变想象一下“冲泡饮料”的过程: 烧开水(相同) 冲泡原料(不同:咖啡或茶叶) 倒入杯子(相同) 添加调料(不同:加糖或加柠檬) 在这个场景中,烧水和倒水是“不变”的结构,而冲泡什么、加什么调料是“可变”的细节。 模式结构 抽象类(Abstract Class):定义算法骨架。包含: 模板方法:定义了算法的步骤(通常设为 final,防止子类修改骨架)。 抽象方法:由子类实现的具体逻辑。 钩子方法(Hook):默认不做事或提供默认实现,子类可以视情况重写,用来控制算法的流程。 具体实现类(Concrete Class):实现抽象类中的抽象方法,完成属于自己的特定逻辑。 代码示例:制作咖啡与茶1234567891011121314151617181920212223242526272...
八股文
更新于2025-12-28 16:38|面试
BitMap所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 我们可以用一个unsigned int类型的数组或者向量来表示位图,假设我们定义vector a,则 第i位可表示为a[i/32]的i%32位(其中,32*N+r = i,r为i%32,也就是i/32的余数)。 1234567891011121314151617181920212223242526class Bitmap{ private: vector<size_t> v; public: Bitmap(size_t num) : v((num>>5)+1, 0) {} //set 1 void set(size_t num) { v[num>>5] |= (1<<(num & 31)); // num & 31 equ...
AQS - AbstractQueuedSynchronizer
更新于2025-12-26 15:59|后端开发
AQS - Java 8这是一个非常好的课题。AQS (AbstractQueuedSynchronizer) 是 Java 并发包 (java.util.concurrent) 中许多同步组件(如 ReentrantLock, CountDownLatch, Semaphore)的基石。理解了它,就理解了 Java 并发的半壁江山。 我将生成两张 Excalidraw 风格的图片来辅助讲解: AQS 宏观内部结构图:展示 State、持有线程以及 CLH 等待队列的整体关系。 AQS 核心流程与状态转换图:展示一个线程尝试获取锁失败后,如何进入队列、改变前驱节点状态以及最终被唤醒的动态过程。 AQS 宏观内部结构图这一张图展示了 AQS 是如何通过一个共享资源状态 (state) 和一个先进先出的等待队列 (CLH Queue) 来管理线程的。 AQS 核心流程与状态转换图 (Acquire Flow)这一张图聚焦于动态过程。当一个线程尝试去 “acquire”(获取锁)时,如果成功了会怎样,如果失败了,它在队列中会经历哪些关键状态的变迁。 图文详解 AQS 原理AQS 的...
Java锁
更新于2025-12-26 15:59|后端开发
原理学习Java 中的锁机制经历了从重型到轻量,从单一到多元的发展历程。要深入理解它们,不能只背诵概念,必须结合 JVM 内存模型 (JMM)、对象头 (Mark Word) 以及 AQS (AbstractQueuedSynchronizer) 的底层原理。 以下是对 Java 各类锁的深度解析,涵盖 JVM 层面的锁优化、JUC 显式锁以及分布式环境下的锁策略。 一、 宏观分类:锁的特性视角在深入具体实现之前,我们需要建立一个清晰的分类体系。这些术语描述的是锁的特性或设计思想,而非具体的类。 锁分类 描述 代表实现 适用场景 乐观锁 假设没有冲突,操作时检测数据是否被修改 (CAS)。 AtomicInteger, 数据库版本号 读多写少,竞争不激烈 悲观锁 假设总有冲突,操作前先锁定。 synchronized, ReentrantLock 写多读少,竞争激烈 可重入锁 允许同一个线程多次获取同一把锁,防止死锁。 synchronized, ReentrantLock 递归调用,父子类方法调用 公平锁 严格按照请求顺序获取锁 (FIFO)。 Re...
线程池
更新于2025-12-26 15:19|后端开发
学习大纲要想深入理解 JUC (Java Util Concurrent) 的线程池实现,不能只看 ThreadPoolExecutor 一个类,而应该顺藤摸瓜,从接口定义、核心实现、辅助组件三个维度入手。 以下是按“阅读优先级”排序的源码研读路径: 第一阶段:核心骨架(必看)这是线程池的灵魂,90% 的面试题和生产环境故障都源于对这个类的误解。 java.util.concurrent.ThreadPoolExecutor (核心) 地位:绝对的核心。 看什么: ctl 变量:高 3 位存状态,低 29 位存线程数。这是位运算设计的典范。 execute(Runnable command):入口方法,蕴含了“三级缓冲”逻辑(核心线程 -> 队列 -> 最大线程 -> 拒绝)。 addWorker(Runnable firstTask, boolean core):如何创建一个线程并启动它。 内部类 Worker:重点!它继承了 AQS。为什么要继承 AQS?为了实现独占锁,判断线程是否空闲(中断时使用)。 runWorker(Worker w):线程启动后...
Java新特性简介
更新于2025-12-16 11:24|后端开发
Java 8 新特性Lambda 表达式123456789101112131415private static void testLambda() { List<String> names = Arrays.asList("name", "sex", "hobby"); // with method reference -- static method names.forEach(System.out::println); names.forEach(name -> System.out.println(name)); // with method reference -- instance method names.sort(String::compareTo); names.sort((a, b) -> a.compareTo(b)); // with method reference -- constructor method ...
数字证书与 PKI 技术详解
更新于2025-12-11 17:20|网络安全
数字证书与 PKI 技术详解概述数字证书是现代网络安全的基石,PKI (Public Key Infrastructure) 公钥基础设施则是管理这些证书的完整框架。本文将深入探讨 PKI 的核心概念、组件架构、证书格式标准以及自动化管理协议。 PKI (Public Key Infrastructure) 公钥基础设施定义与核心价值PKI 是一个综合性的安全框架,专门用于管理数字证书和公钥加密的完整生命周期。它通过建立可信的数字身份体系,为现代网络通信提供身份验证、数据完整性和机密性保障。 核心组件架构1. CA (Certificate Authority) - 证书颁发机构1234567核心职能: PKI 的信任根节点,负责数字证书的全生命周期管理主要职责: - 严格验证申请者身份和资质 - 颁发符合标准的数字证书 - 实时维护证书状态信息 - 及时发布证书撤销列表 (CRL) - 管理证书有效期和续期流程 2. RA (Registration Authority) - 注册机构123456定位: CA 的授权代理,专注于证书申请前端处理核心功能: - 执行...
现代身份认证与授权技术完全指南 - OAuth、JWT、SAML 等协议详解
更新于2025-12-06 21:52|网络安全
认证和授权完全指南概述在现代网络安全体系中,认证(Authentication) 和 授权(Authorization) 是保障系统安全的两大核心机制: 认证:验证用户身份(”你是谁?”) 授权:确认访问权限(”你能做什么?”) 本文将从协议和Token两个维度,系统性阐述认证授权的技术体系。 一、认证授权协议体系1. OAuth 2.0 - 授权标准协议OAuth 2.0 是现代互联网授权的基石,专注于授权(资源访问权限的委派),而非直接处理用户身份认证。 核心角色 角色 说明 示例 资源所有者(Resource Owner) 拥有资源的用户 微信用户 客户端(Client) 请求访问资源的应用 第三方小程序 授权服务器(Authorization Server) 颁发Token的服务 微信授权服务器 资源服务器(Resource Server) 存储受保护资源的服务 微信用户信息API 四种授权模式 授权码模式(Authorization Code) 适用场景:Web应用(服务端安全) 安全性:最高,推荐使用 流程:用户授权 → 获取授权码 ...
Spring MVC
更新于2025-12-04 21:04|Spring
SpringMVC 工作原理引言Spring MVC 框架作为 Java Web 应用程序开发中广泛采用的框架,以其分层和松耦合的架构而闻名。这种架构清晰地分离了表示层、持久层和控制层,使得开发人员能够独立地处理各个模块,并将其组合成专业的 Web 应用程序。遵循 MVC 标准开发的 Web 应用程序更易于扩展、更新和管理,因为松耦合的分层结构使得在特定层进行修改变得更加便捷 1。本报告旨在深入探讨 Spring MVC 框架内 HTTP 请求的完整生命周期,从客户端发起请求到最终响应返回,详细阐述其内部的工作原理。 理解模型-视图-控制器(MVC)模式模型-视图-控制器(MVC)是一种广泛应用于软件工程中的架构模式,旨在分离应用程序的不同关注点,从而提高代码的可维护性和可重用性 3。在 MVC 模式中,应用程序被划分为三个核心组件: 模型(Model): 模型负责封装应用程序的数据和业务逻辑 2。它是应用程序的核心,管理着数据的存储、检索和处理 4。模型独立于用户界面,当模型中的数据发生变化时,它会通知视图进行更新 4。 视图(View): 视图负责呈现模型中的数据,并将其转...
1234
avatar
Supremes
文章
37
标签
70
分类
12
Follow Me
公告
This is my Blog
最新文章
RAG2026-04-12 15:15
dawn-ai 企业级 Agent 整改方案2026-04-03 16:00
dawn-ai 增强点记录2026-04-03 15:00
dawn-ai2026-04-01 22:57
vibe coding2026-03-19 00:38
分类
  • AI7
  • Spring4
  • 后端开发16
  • 工具效率3
  • 数据库13
  • 日记1
  • 杂七杂八1
  • 消息队列2
标签
Kerberos PKCS 分布式系统 Claude AOP 协议标准 maven 向量数据库 MySQL Kafka 认证 Redisson 数据库 Spring LLM Function-Calling ORM Protocol Obsidian Redis git MCP iOS 开发指南 Hibernate Java CA ReAct ACME Model Context Protocol 面向对象 集群 一致性 Objective-C JPA RAG Architecture RabbitMQ stream 加密
归档
  • 四月 2026 4
  • 三月 2026 7
  • 一月 2026 2
  • 十二月 2025 12
  • 十一月 2025 12
网站信息
文章数目 :
37
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By Supremes框架 Hexo 8.1.1|主题 Butterfly 5.5.2
搜索
数据加载中