自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java集合

Collection下面的集合ListArrayListObject[]数组,后续有ArrayList源码分析VectorObject[]数组LinkedList:双向链表,这个其实在Redis中也有类似的说法,JDK1.6以前用的是循环链表,可以看LinkedList源码分析SetHashSet:元素无序,但是元素唯一,底层是基于HashMap实现的,底层采用HashMap保存元素:是HashSet的子类,并且其内部是通过实现的TreeSet。

2026-05-23 13:38:04 366

原创 Java语法糖

JavaJava。

2026-05-22 21:16:48 401 5

原创 Java值传递

pi-momodescription: '读取文件内容。支持 offset 和 limit 参数读取大文件的部分内容。',file_path: { type: 'string', description: '文件的绝对路径' },offset: { type: 'integer', description: '起始行号(可选)' },limit: { type: 'integer', description: '读取行数(可选)' }},},offset?: number;limit?${

2026-05-17 14:08:55 596 4

原创 L angGraph vs 链式调用

LangGraph的核心:当Agent的执行逻辑复杂后怎么让代码变得可维护简单场景链式调用更快更高效需要分支处理、循环迭代、重试的复杂的业务逻辑场景下LangGraph更高效LangGraph是什么,核心组成,如何实现一个简单的LangGraphStateuser_input : str # 用户输入analysis : str # 中间结果result : str # 中间结果error : Optional[str] # 可选字段,error要么是Node,要么是str。

2026-05-16 16:48:29 605

原创 Agent Basic 完整篇

Agent一个粗略的解释:Agent就是一个能聊天、能思考、智商250的机器人,有手有脚能够执行具体动作或者说以下几种概念之一:一个更聪明的聊天机器人一个能够自动去调用工具进行实际操作的llm一个听起来比workflow更高级的说法从工程角度来看,Agent就是一个围绕实现目标/问题持续推进执行任务的系统接收目标/用户输入的问题,不是简单的单轮对话,不是简单的输入,Agent是有上下文工程的,上下文工程+提示词工程形成了记忆层,那么Agent是有记忆功能的,在不撑爆上下文的情况下,都属于这一轮对话。

2026-05-15 12:04:57 399

原创 Java内存模型JMM、Volatile关键字底层原理

本文先阐述JVM内存模型、硬件(CPU、GPU)、OS(操作系统)内存区域架构、Java多线程原理以及Java内存模型(JMM)之间的关联后,再对Java内存模型进一步剖析JavaJMMJVM。

2026-05-12 09:58:44 428

原创 Java内存模型JMM和volatile底层原理

本文先阐述JVM内存模型、硬件(CPU、GPU)、OS(操作系统)内存区域架构、Java多线程原理以及Java内存模型(JMM)之间的关联后,再对Java内存模型进一步剖析JavaJMMJVM。

2026-05-11 15:59:50 513

原创 Agent基本概念和原理

的核心就是抓住自主闭环。它本质上是一个可以主动完成用户提出的问题的系统,就是能够主动实现目标的系统。和传统的核心差距就是有主动性并且能做出相应的行动。传统是用户提出一个问题他就对应回答一个问题,每个问题之间都是独立的,就是一个对话系统,没有上下文,没有记忆的能力,而且没有自主行动的能力。例如你让他生成一个聊天机器人并且把这个机器人放到磁盘中的指定文件夹中,这个传统的是无法实现的,它只能给你生成对应业务的代码,其他要求他是无法实现的而对于而言是可以实现上述所说的要求的,他有自己的规划能力了,可以把用户提出的复

2026-05-08 22:38:04 360

原创 6.消息队列-基础篇-RabbitMQ

所以在消费端。

2026-04-10 23:26:58 359

原创 5.消息队列-基础篇-消费者客户端SDK设计

自定义分区分配算法会使用内核提供的接口,用户可以根据自身需求实现自定义算法,然后指定配置生效即可。比如 Kafka 提供了接口来提供自定义分区分 配策略。

2026-04-09 11:28:41 365

原创 4.消息队列-基础篇-生产者客户端SDK设计

可以让用户灵活使用。内核提供接口。

2026-04-08 10:14:57 402

原创 3.消息队列-基础篇-存储模块

数据可能是连续的,也可能是不连续的。每个节点上所有分区的数据存储在同一个“文件”:因为只有一个文件,不存在文件过多的情况,写入层面一直都会是顺序的,性能一直很高,但在消费的时候,多个分区的数据存储在同一个文件中,同一个分区的数据在底层存储上是不连续的,硬盘层面会出现随机读的情况,导致读取的性能降低。持久化存储是基本的功能,但消息队列主要是用于缓冲分发,它的数据存储是临时的,数据持久化存储后,在一定的时间或操作后,需要自动过期删除,而消息队列中的数据一般分为元数据和消息数据,元数据指的是。

2026-04-08 10:10:57 451

原创 2.消息队列-基础篇-网络模块

最直观的思路就是阻塞等待模型,通过不断轮询等待请求,拿到数据包后交由业务线程处理,处理完之后直接把处理结果返回给客户端,但阻塞等待模型是串行处理机制,每个请求要等待上一个请求完成,就是接收到返回数据之后,处理完成了,才能轮到等待的请求进行处理,所以单个请求通常会采用异步事件驱动模型,通过。的阻塞上,可以让系统在单线程中同时处理多个客户端请求,就是仅靠单线程就可以同时处理多个客户端请求,减小了系统开销,因为仅靠单线程就可以,所以不需要去额外创建进程或线程,降低线程维护的工作量、节约资源。

2026-04-07 14:56:34 394

原创 1.消息队列-基础篇-通信协议

消息队列的核心就是高吞吐、低延时、高可靠、所以在协议选型上,可靠性要高,不能丢失数据、性能要高、通信的延时要低、协议的内容要精简,带宽用率要高、协议具备可拓展性,方便功能的增删。协议体的设计和业务功能是密切相关的,因为协议体是携带本次请求/响应的具体内容,不同接口功能不一样,如生产、消费、确认,但在设计上是有共性的,比如极简、向后兼容、协议版本管理。从协议的角度看,一般业务需求的改变都会涉及到请求内容的修改,因为请求会包含一些业务数据,所以请求协议的变化是比较频繁的,但是返回头只需要获取到请求的唯一标识。

2026-04-07 14:54:07 375

原创 十一,MySQL日志篇之undo-log、redo-log、bin-log

叨叨絮絮下来,就大致将MySQL中的一些常见、较为重要的日志讲明白啦,其实重点搞清楚undo-log:主要用于实现事务ACID原则中的原子性和MVCC机制。redo-log:主要用于实现事务原则中的持久性,确保事务提交后就不会丢失。bin-log:主要结合redo-log实现事务原则中的一致性,确保事务提交前后,数据的一致。对于其他几类日志,在本篇中也仅讲明了大概,毕竟后面的章节中会再出现,而对于上述三大日志也就基本上不会提到了,因此剖析的较为全面,那么咱们下篇见~,下面准备讲:《MySQL。

2026-04-03 13:51:13 327

原创 2,DDD领域层(Domain层)都包含什么

Domain(领域)的概念领域的特性领域的用途实现手段其实有很大一部分内容在上一篇文章中就讲过了Domain。

2026-04-03 13:48:40 214 1

原创 1,DDD是什么?

软件设计方法是一个复杂的领域,涉及多种概念和实践。范式提供了设计哲学,模型帮助我们理解和抽象系统,框架为开发提供了基础结构,方法论指导整个开发过程。软件设计的主要活动——建模、测试、工程、开发、部署和维护——是确保软件项目成功的关键步骤。每个活动都需要专业知识和技能,以及对应的工具和技术的支持。通过这些活动的协同工作,软件工程师能够交付高质量、满足用户需求的软件产品。

2026-04-02 15:38:39 391

原创 十,全解MySQL之死锁问题分析、事务隔离与锁机制的底层原理剖析

死锁的概念在Java并发编程中讲解过死锁指的就是两个或两个以上的线程(或进程)在运行过程中,因为资源的竞争而造成相互等待、相互僵持的现象,如果没有外力介入去解决这个问题的话,就会一直僵持下去,一直互相等待,导致程序就无法运行了举个例子: 两个小朋友在公园捡到一把玩具弓箭,小朋友A和小朋友B都想玩这个弓箭,原本说好一人玩一次的,后来小朋友B耍赖,说要再玩一次,就一直把弓箭拿在手上,但是小朋友A不乐意了,所以小朋友A就把箭拿了,那么谁也别想玩了,就一直互相争执,互不退让。

2026-04-02 10:06:21 230

原创 九,MySQL之MVCC机制:为什么你改了数据我还是看不见

在MySQL锁机制中,全面剖析了MySQL提供的锁机制,对于并发事务通常可以通过其提供的各类锁去确保各场景下的线程安全问题,从而能够防止脏写、脏读、不可重复读、幻读等问题虽然MySQL提供的锁机制确实能解决并发事务带来的一系列问题,但是由于加锁后会导致一部分事务串行化,而MySQL本身是基于磁盘实现的,性能是无法和内存型数据库相比的所以为了解决上述问题,MySQL官方就想出了一个MVCC机制,以另一种形式解决了并发事务造成的问题。

2026-04-01 14:49:12 393

原创 八,MySQL锁机制:高并发场景下如何保证数据读写的安全性

看到这里,相信大家对MySQL中提供的锁机制有了全面的认识,但以目前情况而言,虽对每种锁类型有了基本认知,但本篇的内容更像一个个的点,很难和《MySQL事务篇》连成线,而对于这块的具体内容,则会放在后续的《事务与锁机制的实现原理篇》中详细讲解,在后续的原理篇中再将这一个个知识点串联起来,因为想要真正弄懂MySQL事务隔离机制的实现,还缺少了一块至关重要的点没讲到:即MVCC机制。因此会先讲明白数据库的MVCC多版本并发控制技术的实现后,再去剖析事务隔离机制的实现。

2026-03-31 15:07:44 418

原创 七,MySQL事务篇:ACID原则、事务隔离级别、事务机制原理剖析

事务通常是由一条或一组。

2026-03-29 14:09:10 371

原创 六,MySQL索引原理篇:深入数据库底层原理揭开索引机制的神秘面纱

聚簇索引和非聚簇索引的根本区别:聚簇索引中,表数据和索引数据是按照相同顺序存储的,非聚簇索引则不是。聚簇索引在一张表中是唯一的,只能有一个,非聚簇索引则可以存在多个。聚簇索引在逻辑+物理上都是连续的,非聚簇索引则仅是逻辑上的连续。聚簇索引中找到了索引键就找到了行数据,但非聚簇索引还需要做一次回表查询。InnoDB-非聚簇索引与MyISAMInnoDB中的非聚簇索引是以聚簇索引的索引键,与具体的行数据建立关联关系的。MyISAM中的非聚簇索引是以行数据的地址指针,与具体的行数据建立关联关系的。

2026-03-28 16:30:59 258 5

原创 Git全面讲解(足够细节)

在安装Git一节中,我们已经配置了user.name和user.email,实际上,Git还有很多可配置项。比如,让Git显示颜色,会让命令输出看起来更醒目:这样,Git会适当地显示不同的颜色,比如git status命令:文件名就会标上颜色。我们在后面还会介绍如何更好地配置Git,以便让你的工作更高效。

2026-03-27 21:00:26 457

原创 五,MySQL索引应用篇:建立索引的正确姿势和使用索引的最佳指南

至此,MySQL索引应用篇,也就是索引中篇就结束了,相信大家认真看完本篇之后,对于索引的掌握性、熟练程度绝对会更上一层楼,因为本章中从索引的优劣分析,到建立索引的原则、索引失效的情景、使用索引的正确姿势、MySQL对于索引的优化机制等各方面,对索引进行了进一步阐述。经历中、上两篇的阐述后,对于MySQL。

2026-03-27 17:14:10 395

原创 四,MySQL索引篇上之初始MySQL索引:索引机制、索引分类,索引使用,索引管理综述

经过上述例子的理解,MySQL索引就是为了加快检索到目标数据,那么MySQL的索引是如何使用的呢?首先就得创建索引,MySQL可以通过三种方式其中一种来创建索引,创建了才能使用对MySQL的索引机制有了一个全面的认知,包含索引概述、索引管理、索引分类、唯一、全文、联系、空间索引的创建和使用,下一篇将是索引篇的中-索引应用篇。

2026-03-26 15:00:30 429

原创 三,MySQL之库表设计:第一、二、三、四、五范式、BC范式、反范式

第一范式:保证原子性,确保这一列数据都是不可再拆分的字段第二范式:保证唯一性,每张表的数据必须是同一类型的,必须是同一个业务属性的,只描述一个业务逻辑第三范式:保证独立性,表中除了主键ID之外,其他的所有字段之间是互不关联互不影响互不依赖的,都是独立的根据三大范式进行设计数据库表结构之后:表的数量多了,但是逻辑清晰了,数据不冗余了表结构清晰修改数据、删除数据方便。

2026-03-25 09:39:57 385

原创 二,SQL执行原理:一条SQL从诞生到结束的全历程

SQL执行原理已讲解完毕,只要理解了MySQL的架构,基本上理解SQL执行原理并不会很困难。

2026-03-22 15:09:25 441

原创 一,MySQL架构篇:自上而下深入剖析MySQL整体架构

目前只是对MySQL的整体架构有一个全局的认知,了解具体的架构分层,后续会再对每一个层的细节点进行深入的分析,学习底层遵循:先看主干,再学细节参考学习自竹子爱熊猫。

2026-03-21 23:21:38 603

空空如也

空空如也

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

TA关注的人

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