- 博客(32)
- 收藏
- 关注
原创 java源代码、字节码、jvm、jit、aot的关系
Java代码从编写到运行的全过程可分为前端编译和运行阶段。前端编译通过javac将源代码编译为跨平台的字节码。运行时分为三种路径:纯JVM解释执行效率低;JIT即时编译在运行时优化热点代码为机器码,兼顾启动速度和运行效率;AOT预编译在运行前生成平台相关的机器码,启动快但牺牲跨平台性。SpringBoot项目默认采用"前端编译+JIT"组合,实现快速开发和高效运行。 Java四大核心优势:跨平台通过字节码和JVM实现;垃圾回收自动管理内存;面向对象三大特性提高代码复用性;
2025-11-04 17:44:04
834
原创 Java Exception 与 Error
本文总结了Java中Exception与Error的核心知识,包括两者的继承关系、本质区别及处理原则。重点分析了Checked和Unchecked异常的区别,强调异常捕获顺序和正确处理方式。指出常见的知识漏洞,如异常传递的重要性、finally块使用不当的风险等。文章还提供了学习评估,建议加强异常处理最佳实践的细节理解和场景化分析,并提出后续复习方向,包括分布式系统异常处理和自定义异常的实现。适合开发者复习异常处理核心知识,特别是面试准备和技术提升。
2025-11-04 17:40:45
408
原创 序列化与反序列化
Java序列化与反序列化机制解析:序列化是将对象转换为字节流以便传输或存储的过程,需实现Serializable接口,使用ObjectOutputStream的writeObject方法。反序列化是将其还原,使用ObjectInputStream的readObject方法。关键特性包括递归序列化非transient字段、静态变量不参与序列化、serialVersionUID版本验证等。常见问题如父类未实现接口、不可序列化第三方类等可通过多种方式解决。
2025-11-04 17:38:38
264
原创 Redis实战篇——企业的缓存使用技巧(包括缓存穿透、雪崩、击穿等问题)
简要介绍了什么是缓存穿透(即用户搜索的没有命中redis也没有命中数据库,是一个空key),什么是缓存雪崩(即同时有很多个请求访问数据库),什么是缓存击穿(即热点key问题),并且有对应的解决方案:布隆过滤器、互斥锁等。最后还给了针对springboot的模板代码,方便直接使用
2025-09-26 22:22:03
943
原创 Redis实战篇——利用redis解决集群session共享问题
本文介绍了基于Redis共享Session的短信登录实现方案。首先通过验证码发送流程验证手机号合法性,生成并保存验证码至Session。用户登录时校验验证码,若用户不存在则自动创建账号,并将用户信息存入Session。通过拦截器实现登录状态校验,从Session获取用户信息并存入ThreadLocal供后续使用。方案采用前后端分离设计,通过拦截器统一处理登录校验逻辑,确保系统安全性。
2025-09-26 21:26:30
852
原创 Redis基础篇——集成客户端
Redis的Java客户端主要有Jedis、Lettuce和Redisson三种。Jedis和Lettuce提供基础的Redis命令API,而Redisson实现了分布式Java数据结构。SpringDataRedis对前两者进行了封装,支持多种数据序列化方式。文章详细介绍了Jedis的使用方法,包括连接池配置,以及SpringDataRedis的快速入门步骤,包括依赖引入和RedisTemplate工具类的使用。SpringBoot默认使用Lettuce作为Redis客户端。
2025-09-26 20:10:46
1335
原创 redis基础篇-速通基本知识及指令
Redis是一个基于内存的键值型NoSQL数据库,具有高性能、支持多种数据结构、单线程原子性操作等特点。与关系型数据库相比,Redis采用非结构化数据存储,支持水平扩展,更适合对性能要求高但对事务一致性要求不高的场景。Redis支持数据持久化、集群部署和多语言客户端,适用于缓存、消息队列等多种应用场景。
2025-09-26 19:51:52
813
原创 BUS-消息总线
Spring Cloud Bus 是微服务架构中的消息总线组件,通过公用消息主题实现配置全局刷新等功能。本文以集成 Kafka 为例,演示如何实现配置动态更新:1)改造 Config Server 和 Client,添加 Bus 和 Kafka 依赖;2)通过 Actuator 暴露刷新端点;3)修改 Git 配置后,发送 POST 请求触发总线广播,所有客户端自动更新配置。关键点包括:使用 @RefreshScope 注解、配置中间件连接、通过 /actuator/bus-refresh 端点触发刷新。
2025-09-21 18:09:41
883
原创 Config-配置中心2.0
Spring Cloud Config 2.0 是一个集中式配置中心,分为服务端(Config Server)和客户端(Config Client)。服务端通过Git仓库存储配置,提供获取接口;客户端启动时从服务端拉取配置。相比Nacos,Config更专注于配置管理+Git版本控制,适合需要强版本管理的场景。文章详细介绍了如何搭建Config Server(包括Git仓库配置)和Config Client,并演示了配置读取流程。配置访问通过HTTP接口实现,格式为/{application}/{profi
2025-09-21 18:08:47
1003
2
原创 微服务-分布式追踪 / 监控工具大全
Spring Cloud Sleuth是微服务分布式链路追踪的基础组件,通过Trace ID和Span ID实现全链路跟踪。Trace ID标记完整请求链路,Span ID标识工作单元。实战演示包含两个服务(simple-demo-1和simple-demo-2)的调用场景,通过日志中的标记信息展示链路追踪效果。Sleuth支持采样配置控制追踪信息收集比例,并基于B3协议通过HTTP头传递追踪信息。该工具解决了微服务架构下日志分散、排查困难的问题,能快速定位错误根源和分析性能瓶颈。
2025-09-21 18:07:45
1344
原创 微服务-网络模型与服务通信方式openfein
本文介绍了OSI七层网络模型及其在前后端通信中的应用。模型从上到下包括:应用层(HTTP等协议)、表示层(数据格式转换)、会话层(会话管理)、传输层(TCP/UDP协议)、网络层(IP寻址)、数据链路层(MAC地址通信)和物理层(信号传输)。每层都有特定功能,共同完成端到端的数据传输过程。在五层模型中,前三层被合并为应用层。文章通过前后端交互实例,如HTTP请求、JSON数据格式、Session管理和TCP连接等,说明了各层的具体应用场景。
2025-09-20 17:27:27
1114
原创 微服务技术栈一文串讲
这篇文档详细介绍了电商下单功能在微服务架构下的实现流程。系统被拆分为用户服务、订单服务和库存服务三个独立微服务,通过网关统一入口,利用注册中心(Nacos)实现服务发现,配置中心管理全局配置。服务间通过OpenFeign+Ribbon进行负载均衡调用,Sentinel提供熔断限流保护,Sleuth+Zipkin实现全链路追踪。整个下单流程涉及用户校验、库存扣减等多个环节,各微服务组件协同工作,共同构建了一个高可用、易扩展的分布式系统架构,并具备完善的故障预防和问题排查机制。
2025-09-20 17:25:34
761
原创 微服务-sentinel的理论与集成springcloud
摘要:本文介绍了分布式系统中的服务保护机制,重点讲解了服务雪崩、限流、熔断和降级等核心概念。服务雪崩指单一服务故障引发整体系统崩溃的现象,可通过熔断和降级防止连锁反应。文章详细对比了四种限流算法(计数器、滑动窗口、令牌桶、漏桶)的特点和适用场景,并介绍了Sentinel组件的功能与启动方式。Sentinel作为流量控制中间件,提供熔断降级、系统保护等能力,通过Dashboard实现可视化监控和规则配置。
2025-09-19 15:38:16
1270
原创 微服务-网关gateway理论与实战
网关作为系统统一入口,提供多种核心功能:统一接入后端服务、集中鉴权认证、流量控制(限流/缓存)以及协议转换。支持多种发布策略(蓝绿发布、灰度发布、A/B测试)确保服务平滑升级。路由匹配规则涵盖时间、Cookie、Header、Host等维度,过滤器则提供路径处理和参数添加能力,实现灵活的请求转发与处理。
2025-09-19 15:36:56
2216
原创 微服务-基础知识(CAP、BASE)
文章摘要 本文系统介绍了系统架构从单体到微服务的演进过程。单体架构将所有功能打包在一起,开发简单但扩展性差;集群级垂直化通过业务拆分降低耦合,但增加了系统间调用复杂度;SOA架构抽取共享服务实现复用,但架构复杂;微服务则进一步细粒度拆分,提高灵活性和容错能力。每种架构都有其适用场景,需根据业务需求权衡选择。
2025-09-19 15:33:57
1231
原创 微服务-nacos服务中心
本文介绍了系统架构的演进过程:从单体架构、集群级垂直化、SOA到微服务。单体架构简单但耦合度高;集群级垂直化通过业务拆分提升可扩展性;SOA通过共享服务解决信息孤岛;微服务则进一步细粒度拆分,提升灵活性。每种架构都有其适用场景,需根据业务需求权衡选择。
2025-09-15 22:48:17
1254
原创 初识微服务-nacos配置中心
配置中心是微服务架构中的关键组件,用于集中管理应用配置信息。它解决了配置分散和冗余问题,支持动态更新、多环境适配和多语言部署。Nacos作为主流配置中心,提供命名空间隔离、分组管理、配置动态推送等功能。安装Nacos后,可配置外部数据库连接,并通过Namespace、Group、Data ID实现多环境配置管理。SpringCloudAlibaba项目可通过yaml文件加载Nacos配置,支持配置动态刷新。配置中心贯穿应用生命周期,提升系统灵活性和运维效率。
2025-09-12 15:19:41
649
原创 消息队列-kafka完结
Kafka核心概念与架构解析 摘要:Kafka是一个分布式消息系统,其核心架构包含Broker(服务节点)、Topic(消息分类)和Partition(物理存储单元)三大要素。Topic作为逻辑分类可划分为多个Partition实现分布式存储,提升系统吞吐量和容错性。Partition可跨Broker分布,支持并行处理和负载均衡。副本机制通过Leader-Follower架构保障数据可用性,虽然会带来一致性挑战,但通过主从同步机制确保故障切换时的数据可靠性。
2025-09-11 20:26:42
1051
4
原创 大模型应用开发核心组件
🔥 大模型应用开发核心组件全解析!6大模块从提示词到Agent实战,详解记忆机制、工具调用、向量数据库集成。带你可动手搭建多轮对话、RAG pipeline和智能问答系统!适合开发者、AI工程师快速落地项目。 #LLM #人工智能开发
2025-09-03 16:35:44
338
原创 大模型应用开发技术栈
🚀 大模型开发技术栈全景揭秘:从RAG到Agent,手把手搭建智能应用! 想要快速落地大模型应用却不知从何下手?本文为你系统梳理LLM开发必备技术栈,涵盖模型服务、开发框架、存储方案到监控部署,助你从入门到实战! 📌 核心内容速览: ✅ **模型服务**:OpenAI、Azure、Anthropic等主流API接入与本地部署(Ollama) ✅ **开发框架**:LangChain(链式编排)、LangGraph(多智能体)、LlamaIndex(数据索引)深度对比
2025-09-03 16:24:55
1054
原创 大模型应用开发基础知识
🔥 大模型开发入门宝典:从零掌握LLM核心技术与实战应用!你是否好奇ChatGPT背后的神秘力量?想了解如何用大语言模型(LLM)开发智能应用?本文带你深入浅出,系统解析大模型的基本概念、技术原理与应用场景!📌 内容亮点:✅ 大模型核心知识:GPT与ChatGPT区别、模型规模、训练阶段(预训练+微调)✅ 关键技术详解:提示词设计、Token机制、上下文长度控制✅ 实战应用场景:文本生成、数据提取、分类、对话系统、RAG检索增强✅ 多模态处理:图片、音频、视频的AI应用案例✅ NLP基
2025-09-03 16:18:37
1289
原创 哈希02:算法进阶,详解三数之和等难度算法
你是否曾为如何在数组中快速找到两数之和而烦恼?或者为如何高效计算四数之和的组合数而头疼?本文将带你深入探索这些经典算法问题的解决思路与代码实现。从两数之和的哈希表解法,到四数之和的巧妙组合优化,再到三数之和的双指针技巧,文章详细解析了每个问题的核心思路与代码实现。你将学习到如何利用哈希表快速查找目标值,如何通过双指针法高效处理数组中的组合问题,以及如何在复杂问题中巧妙去重。无论你是算法初学者,还是希望提升编程技巧的开发者,本文都将为你提供清晰的思路与实用的代码示例,助你在算法世界中游刃有余。快来一起
2025-02-19 23:54:49
970
1
原创 哈希表01:理论知识与常用方法总结、简单算法运用
你是否曾想过如何在海量数据中快速找到目标?哈希表就是你的答案!它通过巧妙的哈希函数将数据映射到特定位置,实现O(1)的查找效率。无论是去重、集合运算,还是键值对存储,哈希表都能轻松应对。本文将带你深入理解哈希表的原理、应用场景及实现方式,助你在算法世界中游刃有余!文章还详细解析了哈希碰撞的解决方法(拉链法和线性探测法),并对比了Java中Set和Map的不同实现(如HashSet、TreeSet、HashMap等),帮助你根据需求选择最合适的数据结构。
2025-02-18 12:05:00
1340
原创 链表关键点总结:从技巧到实战,搞定链表核心易错点!
本文深入总结了链表操作中的关键技巧与常见问题,涵盖链表移动、节点比较、虚拟头节点、前驱节点等核心知识点。通过清晰的代码示例和实用技巧,帮助你快速掌握链表操作的精髓,避免常见错误。无论是面试准备还是日常学习,本文都能为你提供实用的指导,助你轻松应对链表相关题目!
2025-02-17 12:12:07
311
原创 链表题型全解析:从基础操作到复杂问题,一文搞定!
本文深入探讨了链表相关的常见题型,涵盖了两两交换节点、删除倒数第N个节点、反转链表、链表相交、环形链表等经典问题。通过详细的思路分析和代码实现,帮助你掌握链表操作的核心技巧。无论是初学者还是进阶者,都能从中找到实用的解题方法和注意事项,快速提升链表问题的解决能力!
2025-02-17 12:04:02
995
原创 day03:一文完全吃透链表基础:单双链表(虚拟头尾节点)、关键问题总结
你是否对链表的设计与操作感到困惑?本文将带你深入理解链表的理论基础,并通过单链表和双链表的完整代码实现,手把手教你如何设计链表、删除节点、添加节点等核心操作!亮点1:详细解析虚拟头尾节点的作用,简化边界操作,避免空指针异常!亮点2:单链表与双链表的对比,从代码到逻辑,助你彻底掌握链表的精髓!亮点3:附赠关键点总结与代码注释,小白也能轻松上手!无论你是数据结构初学者,还是想巩固链表知识的进阶者,这篇文章都能让你快速提升!🚀立即阅读,解锁链表的奥秘!
2025-02-15 01:01:27
711
原创 数组最终总结
文章涵盖了数组与双指针技巧的核心内容,包括双指针的意义、类型(相向指针和快慢指针),以及数组经典题目的四类解法:二分法、双指针法、滑动窗口和模拟行为。还提到了前缀和技巧,并强调了通过演算和找规律形成思路的重要性。
2025-02-14 10:20:45
653
原创 Day02:攻克滑动窗口、前缀和与螺旋矩阵——从思路到代码,解决高频算法难题!
**摘要:** 本文深入探讨了滑动窗口、前缀和与螺旋矩阵三类高频算法问题的解决思路与代码实现。通过详细的思路分析、代码模板和错误日志总结,帮助读者快速掌握这些经典算法的核心技巧。文章不仅提供了清晰的解题模板(如滑动窗口的双指针移动逻辑、前缀和的区间和计算技巧、螺旋矩阵的边界控制方法),还针对常见错误(如滑动窗口中的 `if` 与 `while` 混淆、前缀和的边界条件处理、螺旋矩阵的起始点更新问题)进行了深入剖析。无论你是算法初学者还是希望提升解题效率的开发者,本文都能为你提供实用的指导和启发,助你轻松
2025-02-13 23:54:50
643
原创 Day01 数组01:双指针详解、各种问题解决
数组是算法中最基础且重要的数据结构之一,理解其内存布局和操作特性是掌握高效算法的关键。本文从数组的基础理论出发,深入探讨了数组的内存连续性、元素操作(如删除与覆盖)以及二维数组的存储方式。同时,结合经典的二分查找和双指针技巧,详细讲解了如何在实际问题中应用这些知识,提升代码效率。通过丰富的代码示例和错误日志分析,帮助你避免常见陷阱,快速掌握数组与双指针的核心思想。无论是初学者还是有一定经验的开发者,都能从中获得实用的算法优化技巧!
2025-02-12 22:24:13
848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅