自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL InnoDB存储引擎Master Thread主线程工作原理详细介绍

MySQL InnoDB的Master Thread是核心后台线程,负责协调关键操作(脏页刷新、日志管理、事务处理等)。其工作流程分为主循环、后台循环、刷新循环和暂停循环,动态调整以适应负载状态。核心操作包括脏页刷新(LRU算法)、重做日志刷新、变更缓冲区合并及自适应哈希索引维护。版本演进中优化了IO能力(引入innodb_io_capacity)并分离任务(如Page Cleaner Thread)。

2025-09-18 11:45:12 604

原创 MySQL InnoDB存储引擎架构底层实现详细介绍

InnoDB是MySQL默认的存储引擎,支持ACID事务、行锁、MVCC等特性。架构分为后台线程、内存结构和磁盘结构。后台线程包括Master Thread(负责脏页刷新)、IO Thread(处理异步I/O)、Purge Thread(回收Undo日志)和Page Cleaner Thread(刷新脏页)。内存结构以缓冲池为核心,采用改进的LRU算法管理数据页,包含数据页、索引页、变更缓冲区等模块。缓冲池通过LRU List、Free List和Flush List协同工作,确保高效数据访问和持久化。

2025-09-17 20:09:37 919

原创 MySQL底层架构设计原理详细介绍

MySQL 作为全球最流行的开源关系型数据库,采用分层架构设计实现高性能数据处理。其核心架构包括四层:连接层负责客户端连接管理和认证;服务层处理SQL解析、优化与执行,包含查询分析器、优化器等关键组件;存储引擎层提供事务支持;文件系统层管理数据存储。重点优化机制包括缓冲池减少I/O、索引优化提升查询性能、事务日志保证ACID特性。此外,MySQL还提供完善的日志系统、备份恢复和高可用方案,确保数据安全与系统稳定。这种分层设计使MySQL在保证数据一致性的同时,能高效处理高并发请求。

2025-09-09 22:22:35 908 1

原创 什么是数据库管理系统(DBMS)?RDBMS和NoSQL又是什么?

数据库管理系统(DBMS)是管理和操作数据库的软件系统,核心功能包括数据定义(DDL)、操作(DML)、控制(DCL)以及运行管理。DBMS分为关系型(RDBMS)和非关系型(NoSQL)两大类,前者如MySQL、Oracle,后者如MongoDB、Redis。RDBMS基于表结构,支持SQL和ACID事务;NoSQL则灵活支持键值、文档、列族和图数据模型,适合高扩展场景。DBMS通过数据结构化、事务管理和优化技术确保数据一致性、安全性和高效访问,广泛应用于企业、互联网等领域。

2025-09-02 18:31:23 868

原创 Linux系统下部署安装MySQL5.7实战详细教程

本文详细介绍了在CentOS 7.9 x64系统上安装MySQL 5.7的完整步骤:从官网下载安装包、创建mysql用户组和用户、上传并解压安装包、配置my.cnf文件、初始化数据库,到最终创建service管理脚本。重点讲解了关键配置参数和初始化命令,提供了完整的my.cnf配置文件示例,涵盖了端口设置、字符集、存储引擎等核心参数配置。通过逐步操作指导,帮助用户完成MySQL 5.7的安装部署工作。

2025-09-01 08:59:02 730

原创 一文搞懂23种Java设计模式

本文介绍了Java设计模式的三大类(创建型、结构型、行为型)共23种模式,重点标注了高频使用的9种模式。创建型模式包括单例、工厂方法、抽象工厂、建造者和原型模式;结构型模式涵盖适配器、装饰器和代理模式等。每种模式均给出定义、适用场景及代码示例,如单例模式的饿汉/懒汉实现、工厂方法模式的产品创建解耦等,帮助开发者理解如何通过设计模式提升代码的灵活性、复用性和可维护性。

2025-08-30 12:22:46 776

原创 Java设计模式是什么?核心设计原则有哪些?

设计模式是Java开发中提升代码质量的核心方法,通过7大设计原则和23种经典模式,帮助开发者编写高内聚、低耦合、易扩展的代码。核心原则包括:开闭原则(扩展开放/修改关闭)、里氏替换(子类透明替换父类)、依赖倒置(高层依赖抽象)、单一职责(类功能专一)、接口隔离(细粒度接口)和迪米特法则(减少对象依赖)。这些原则指导开发者构建灵活、可维护的软件系统,通过抽象、封装和解耦提高代码复用性和可扩展性,是应对复杂业务需求的关键技术手段。(150字)

2025-08-29 11:56:09 671

原创 必知必会的常用Linux命令收集汇总

本文总结了程序员日常开发运维中最常用的Linux命令,涵盖文件操作、权限管理、进程控制等场景。核心命令包括:pwd查看路径、ls/cd目录操作、cat/less文件查看、mkdir/cp/mv/rm文件管理、chmod/chown权限设置、find/grep文件搜索、tar压缩解压,以及top/ps/kill进程管理和netstat网络监控等。每个命令均配有典型用法示例,如grep -lr递归搜索、find -mtime按时间查找等实用技巧,是开发运维人员的高效操作指南。

2025-08-27 11:38:03 351

原创 Redis集群分布式(Redis Cluster)底层实现原理详细介绍

Redis集群通过哈希槽(16384个)实现数据分片将数据分布到多个节点,利用Gossip协议实现节点间通信与状态同步,结合主从复制与自动故障转移保障高可用,并通过迁移哈希槽实现动态扩容与负载均衡。

2025-07-30 09:12:38 1353

原创 Redis哨兵模式(Sentinel)底层实现原理详细介绍

Redis哨兵模式(Sentinel)通过部署多个Sentinel节点来监测主服务器状态,当发现主服务器客观下线时,主动发起领头Sentinel选举,基于Raft算法,选举完成后新的领头Sentinel会对以下线的主服务器进行故障转移,选出一个优先级最高的从服务器作为新的主服务器对外提供服务及更新主从复制同步关系,旧的主服务器在重启后变为当前新的主服务器的从服务器。

2025-07-24 09:23:31 1453

原创 Redis四种部署方式(单点部署、主从复制、哨兵模式和集群模式)特性介绍

Redis 提供的每种模式各有优劣。单机模式适合开发测试,主从复制模式适合读扩展,哨兵模式适合高可用性,而集群模式适合大规模生产环境。实际需要根据业务需求(数据量、并发量、可用性要求)选择合适的部署模式,适合需求的才是最好的。

2025-07-18 10:59:46 1109

原创 Redis主从复制数据同步实现原理详细介绍

Redis主从复制通过全量复制确保初始一致性,增量复制优化持续同步效率,结合复制积压缓冲区和偏移量跟踪机制,实现了高效且可靠的数据同步。合理配置参数和监控网络状态是优化复制性能的关键。

2025-07-17 17:19:12 1342 5

原创 Redis持久化RDB和AOF实现原理详细介绍

Redis 的持久化机制是保障数据安全的关键。RDB适合大规模数据恢复和冷备,AOF提供更高的数据安全性,而混合持久化结合两者优势,是生产环境的推荐方案。

2025-07-16 14:32:39 1147

原创 Redis对象系统与数据类型详细介绍

作用:记录对象最近一次被访问的时间(用于 LRU/LFU 策略),24位位域。该信息可以用于计算数据库键的空转时长,在服务器启用了 maxmemory 功能的情况下,空转时长较大的那些键可能会优先被服务器删除。LRU 模式:存储分钟级时间戳(高 16 位)和访问次数(低 8 位)。LFU 模式:存储频率(低 8 位)和时间戳(高 16 位)。示例(integer) 10 # 表示键已空闲 10 分钟Redis 的对象共享机制是其内存优化的核心策略之一。

2025-07-15 09:21:26 1270

原创 Redis底层数据结构实现原理详细介绍(源码+图解)

压缩列表的连锁更新是指在 Ziplist 中插入或删除元素时,由于每个 Entry 记录前一个节点的长度(,导致后续多个节点的字段需要连续修改,从而引发多次内存重分配和数据迁移的现象。触发场景:插入或删除元素:当某个 Entry 的长度变化后,后续所有 Entry 的字段都需要更新。长度变化阈值:当某个 Entry 的长度从小于 254 字节变为大于等于 254 字节(或反之),其字段的存储方式会发生变化(1 字节 → 5 字节)。

2025-07-11 18:01:16 429

原创 Linux管道命令详细介绍

管道(Pipe)是 Linux 中用于将一个命令的标准输出(stdout)作为另一个命令的标准输入(stdin)的机制。通过管道符连接多个命令,形成命令链,实现数据的串联处理。Linux 管道命令是自动化数据处理过滤数据(如grep排序与去重(如sort和uniq文本处理(如awk和sed统计与聚合(如wc和xargs。

2025-07-09 09:10:02 979

原创 Linux系统磁盘管理操作命令详细介绍

以下是。

2025-07-08 09:38:52 926

原创 Linux系统vi/vim操作命令详细介绍

vi:Linux 系统默认的文本编辑器,基于命令行操作,功能强大。vimvi的增强版,支持语法高亮、多窗口编辑、插件扩展等功能,广泛用于程序开发。在~/.vimrc中配置快捷键:" 示例:将 F5 映射为保存并退出。

2025-07-08 09:32:31 1287

原创 Linux系统文件操作命令详细介绍

以下是。

2025-07-08 09:27:49 616

原创 Linux系统目录管理命令详细介绍

理解目录结构:掌握 FHS 标准,明确各目录的用途(如/etc配置文件、/var动态数据)。灵活使用命令:熟练操作lscdmkdirchmod等工具。权限控制:通过chmodchown设置合理的权限,保障系统安全。安全实践:遵循最小权限原则,避免过度授权。

2025-07-07 13:52:44 932

原创 Linux系统用户和用户组管理详细介绍

Linux 用户管理的核心在于通过用户与组的划分权限控制和安全策略实现系统的高效与安全运行。合理配置用户权限不仅能提升系统稳定性,还能有效防范潜在的安全风险。掌握useraddgroupaddchmodsudo等工具的使用,是 Linux 系统管理的基础技能。

2025-07-07 11:48:41 1661

原创 Linux系统文件的基本属性详细介绍

Linux 文件的基本属性包括文件类型权限所有者与属组大小与时间戳以及特殊权限。通过ls -lchmodchown等命令,可以灵活管理文件权限和所有权,确保系统的安全性和协作效率。

2025-07-05 15:54:54 1035

原创 Linux系统目录结构详细介绍

目录用途根目录,文件系统起点/bin用户基础命令/sbin管理员命令/etc配置文件/home普通用户家目录/rootroot 用户家目录/usr用户程序和资源/var可变数据(日志、缓存)/tmp临时文件/dev设备文件/media自动挂载的外部设备/mnt手动挂载点/opt第三方软件/proc进程和内核信息/sys设备和内核属性。

2025-07-05 15:28:52 998

原创 Linux环境下Redis集群搭建详细教程,0门槛有手就会

本次我们搭建的Redis集群设计为3台服务器,包含3主3从共6个Redis节点,每个服务器包含1主1从2个Redis节点,分别为master 1、slave1;创建集群,使用create创建,cluster-replicas指定从节点个数,前3个节点为master,后3个为则从节点。将Redis安装包上传到linux服务器并解压,可以通过FTP工具连接上传,这里我上传到了/home/redisadm目录下进行安装。注意,这一步不能报错,如果报错了需要检查确实什么插件,将插件安装好。

2025-07-04 19:37:49 1432

原创 【AI大模型第8集】提示工程(Prompt Engineering),与大模型深入对话

Prompt(提示)是人工智能(尤其是大型语言模型)中用于引导模型生成特定输出的输入指令或上下文。它通过提供明确的指示、背景信息、示例或格式要求,帮助模型更好地理解任务需求,并生成符合预期的结果。简单的说,Prompt(提示)就是你发给大模型的指令,比如 “讲个冷笑话”、“用 Python 写个爬虫脚本”、"帮我给女朋友写封情书"等。Prompt 工程(Prompt Engineering),又称提示工程,是指设计和优化用于与生成式人工智能模型交互的 Prompt 的过程。

2025-07-02 11:34:54 1352

原创 【AI大模型第7集】大模型调用OpenAI client.chat.completions.create核心参数详解

messages在实际项目中,无论你是在开发客服助手、文案生成系统、知识库搜索引擎,还是构建多模态 Agent,理解并掌握这些参数的调优技巧,是将大模型从“能跑”到“好用”的关键一步。

2025-07-01 16:30:19 1725

原创 【AI大模型第6集】Python基础语法速通,快速上手必备技能

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。# 定义函数# 定义函数 def greet(name) : return f"Hello, {name }!" # 调用函数 print(greet("Alice")) # 输出: Hello, Alice!

2025-06-22 23:22:03 754

原创 【AI大模型第5集】怎么调用大模型API,与大模型的第一次对话

从代码可以看出来,大模型就是一个函数,函数里面的变量是多维度的,逻辑是多层次的。大模型可以根据输入的数据,生成具有强关联性的输出数据。由于大模型的原理涉及到比较多复杂的公式、算法等,普通人可能很难在短时间去理解,所以我们可以通过认识、实践、原理三个步骤来逐步学习和掌握AI开发。

2025-06-21 19:18:20 1416

原创 【AI大模型第4集】大语言模型(LLM)开发环境安装

这一步注意勾上加入系统环境变量选项,如果想自定义安装目录,就选Customize installation。直接下一步,如果不想安装py launcher启动界面,可以不选上,一般使用第三方编辑器运行python。选择安装目录后点击install安装,可以不勾选Precpmpile standard library。,访问有点慢,进入页面后往下滑,选择自己系统合适的版本。进入下载保存好的文件目录,双击exe文件,开始安装。这一步是设置启动项名称,可以忽略,直接下一步。,点击安装,重启后就是中文啦。

2025-06-21 19:02:55 416

原创 【Java第114集】java反射机制(Reflection)详解

Java反射机制提供了强大的动态能力,但需谨慎使用以避免性能问题和安全风险。Class:获取类信息。:动态创建对象。Field:访问和修改字段。Method:调用方法。Array:操作数组。Parameter:获取方法参数。:处理注解。Modifier:解析修饰符。通过合理使用这些API,可以实现框架开发、动态代理、序列化等高级功能。

2025-06-20 21:14:00 751

原创 【Java第113集】java AIO实现原理详解

Java AIO 是一种基于事件驱动和回调机制的异步非阻塞 I/O 模型,通过操作系统异步完成 I/O 操作,显著提升了高并发场景下的性能。尽管其实现复杂度较高,且依赖操作系统支持,但在处理大量长连接和重操作时具有明显优势。开发者需根据具体场景选择合适的 I/O 模型(BIO、NIO 或 AIO),并合理设计回调逻辑以避免代码复杂性问题。

2025-06-17 14:25:55 764

原创 【Java第112集】java BIO实现原理详解

BIO 是 Java 早期的 I/O 模型,其核心思想是同步阻塞,通过线程池和系统调用实现网络通信。虽然在高并发场景下性能较差,但在低并发、简单业务的场景中仍有其价值。对于高性能需求,建议使用NIO或AIO替代。

2025-06-17 14:00:20 815 1

原创 【Java第111集】java NIO实现原理详解

Java NIO 是一种高性能、可扩展的 I/O 模型,特别适合处理高并发网络应用。相比传统的 BIO,NIO 通过非阻塞 I/O 和多路复用机制,显著提高了资源利用率和吞吐量。虽然 NIO 的编程复杂度较高,但它在构建高性能服务器(如 Web 服务器、游戏服务器)中扮演着重要角色。

2025-06-16 23:26:42 1521

原创 【Java第111集】java BIO/NIO/AIO概念详解

BIO是传统模型,适合简单场景,但无法应对高并发。NIO通过多路复用提升并发能力,但需要开发者手动管理事件和缓冲区。AIO依赖操作系统异步能力,彻底解放线程资源,但编程复杂度最高。如果连接数少且稳定,选择BIO;如果需要高并发但连接轻量,选择NIO;如果需要高效处理大数据或长连接,选择AIO。

2025-06-16 14:53:19 651

原创 【AI大模型第3集】大语言模型(LLM)应用的产品架构和技术架构

本文系统梳理了大语言模型(LLM)的应用架构与技术实现路径。在产品层面,按智能化程度分为三类:嵌入式应用(AI Embedded)仅增强现有功能;智能助手(AI Copilot)辅助用户决策;智能代理(AI Agent)可自主完成任务,目前主流采用多Agent工作流模式。在技术实现上,从基础的纯Prompt问答,到支持外部调用的Agent+Function架构,再到结合知识库的检索增强生成(RAG)技术,以及针对垂直领域的模型微调(Fine-tuning)。

2025-06-15 22:48:40 1045

原创 【AI大模型第2集】大语言模型(LLM)是什么?

LLM通过 Transformer架构、大规模预训练 和 动态采样策略,实现了对自然语言的深度理解和生成能力。其技术核心在于捕捉语言的统计规律,并通过优化算法和硬件资源突破性能瓶颈。未来,随着 多模态融合、去中心化算力 和 开源生态 的发展,LLM将在更多领域实现突破性应用,同时需解决黑箱问题、数据安全与伦理挑战。

2025-06-15 18:14:00 1167

原创 【Java第110集】java Properties配置文件工具类详解

Properties类是 Java 中管理配置信息的核心工具,适用于读取和写入文件或 XML 配置文件。通过其丰富的 API,开发者可以轻松实现配置的加载、修改、保存和调试。掌握其使用方法,能显著提升应用程序的灵活性和可维护性。

2025-06-14 14:27:48 1118

原创 【Java第109集】java RandomAccessFile文件随机读写功能详解

是 Java 中一个功能强大的文件操作类,支持对文件进行随机读写(即可以跳转到文件的任意位置进行读写操作)。它既不属于也不属于类系,而是直接继承自Object类。随机访问:通过seek()方法定位到文件的任意位置。读写混合:支持同时读取和写入操作。灵活控制:可以修改文件的局部内容(如更新数据库记录、日志文件等)。优势提供了灵活的随机访问能力,适合需要频繁修改文件局部内容的场景(如数据库、日志系统)。局限性:相比 NIO 的和内存映射文件,的性能较低,且需要手动管理文件指针。适用场景。

2025-06-13 15:56:14 979

原创 【Java第109集】java序列化与反序列化实现原理详解

方法如果类定义了方法,会反射调用该方法。用途:自定义字段的序列化逻辑(如加密敏感字段)。示例:private void writeObject(ObjectOutputStream out) throws IOException {// 调用默认序列化逻辑// 自定义字段加密方法如果类定义了方法,会反射调用该方法。用途:自定义字段的反序列化逻辑(如解密敏感字段)。

2025-06-13 13:56:17 696

原创 【Java第108集】java IO流之特殊数据流(DataInputStream/DataOutputStream)详解

通过合理使用和,可以高效地处理结构化数据的读写任务,同时规避常见错误(如字节序冲突、顺序错乱)。特性描述平台无关性使用统一的大端序(Big-Endian)处理数据,确保跨平台兼容性。直接操作基本类型提供readXxx()和writeXxx()方法,简化基本数据类型的读写。装饰器模式通过包装底层流(如)扩展功能,符合开闭原则。典型应用场景网络通信、文件存储、配置管理等需要结构化数据传输的场景。注意事项严格顺序一致性、字节对齐、资源管理、异常处理。

2025-06-12 20:05:36 1013

空空如也

空空如也

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

TA关注的人

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