- 博客(14)
- 收藏
- 关注
原创 Java集合框架详解:核心类、源码示例与架构全景图(一篇搞定你的疑惑!)
Java集合框架(JCF)是Java标准库中用于存储和操作数据集合的核心组件,主要包含Collection和Map两大接口体系。Collection接口下包含List(有序可重复)和Set(无序不重复)两类集合,分别有ArrayList(动态数组)、LinkedList(双向链表)、HashSet(哈希表)和TreeSet(红黑树)等典型实现。这些集合类提供了丰富的操作方法,如添加/删除元素、遍历集合等,并针对不同场景优化了性能特性。
2025-12-14 18:00:21
405
原创 String、StringBuilder与StringBuffer深度解析:性能、线程安全与应用场景
Java字符串处理类比较:String、StringBuilder和StringBuffer各有特点。String是不可变类,适合常量字符串,利用常量池提高效率;StringBuilder是可变类,单线程性能最优,适合频繁修改;StringBuffer线程安全但性能略低,适用于多线程场景。选择策略:不变用String,单线程修改用StringBuilder,多线程共享用StringBuffer。性能测试显示StringBuilder在单线程操作中最快,而String拼接性能最差。正确选择可显著提升程序效率。
2025-12-02 11:07:21
1074
原创 Redis手动挡 vs Redisson自动挡,谁才是生产环境的王者?
Redis原生的SETNX命令和Redisson框架是实现分布式锁的两种主要方式,前者属于「手动挡」需要自行处理锁续期、可重入等问题,容易因业务执行超时导致锁提前释放的安全隐患;而Redisson作为「自动挡」解决方案,通过看门狗机制自动续期锁、支持可重入和原子操作,大大提高了开发效率和可靠性。生产环境推荐使用Redisson,它封装了复杂细节,提供高可靠的分布式锁实现,让开发者能更专注于业务逻辑。
2025-11-09 20:40:34
956
原创 单表1000万?告辞!一场与数据库的极限拉扯,Mycat分库分表送给你!
本文针对电商订单系统单表数据量突破1000万时的性能瓶颈,提出分库分表解决方案。文章首先分析了单表性能拐点的具体表现,比较了垂直拆分和水平拆分两种策略的优劣,重点讨论了哈希分片、范围分片等水平拆分方法。随后详细介绍使用Mycat数据库中间件实现分布式架构的实践方案,包括系统架构设计、核心配置文件的编写要点。通过Mycat中间件,开发者无需修改业务代码即可实现数据分片管理,有效解决单机数据库在大数据量场景下的性能与扩展性问题。
2025-10-29 17:30:08
1077
原创 C#搭建车牌识别系统(附完整源码)
本文介绍了一个基于ONNX Runtime的高效车牌识别系统,采用两阶段检测识别架构,识别成功率超过90%。系统核心技术包括:1)基于YOLO的轻量级车牌检测模型;2)智能双层车牌分割识别策略;3)基于CTC的字符序列识别算法;4)保持长宽比的Letterbox预处理。创新性地解决了双层车牌识别难题,通过水平投影分析动态确定最优分割点。系统具有光照适应性强、角度鲁棒性好、支持多类型车牌等特点,在普通硬件上即可实现实时识别。源码已开源,为智能交通应用提供了有效的技术解决方案。
2025-10-26 13:34:57
1573
原创 使用SpringAI快速搭建本地大模型聊天机器人
通过本文的步骤,我们成功搭建了一个基于SpringAI和本地Ollama大模型的聊天机器人应用。部署简单:只需几个步骤即可完成环境搭建成本低廉:利用本地资源,无需支付云服务费用数据安全:所有对话数据保存在本地扩展性强:基于Spring生态,易于功能扩展 这种架构特别适合需要数据隐私保护的企业内部应用、教育演示环境以及对成本敏感的场景。随着本地大模型技术的不断发展,这种方案的性能和能力还将进一步提升。本文为个人学习所用,想深入了解Spring AI建议观看黑马程序员系列课程!
2025-10-20 20:51:24
840
原创 你的微服务还缺个“前台”?Spring Cloud Gateway部署指南来了!
API网关在微服务架构中扮演"保安亭"角色,为客户端提供统一入口。它负责路由请求、鉴权、限流和日志记录,简化客户端调用并集中安全管理。Spring Cloud Gateway通过路由断言和过滤器链机制实现这一功能:断言匹配请求路径,过滤器链在转发前后处理请求和响应。实战示例展示了如何配置路由规则,将/user和/order请求分别转发到用户服务和订单服务。网关还支持与服务注册中心集成,实现动态路由和负载均衡。
2025-10-16 08:07:50
1613
原创 微服务注册与发现:Nacos 使用详解与实战
本文介绍了微服务架构中服务注册与发现的核心概念及Nacos的实践应用。在微服务环境中,服务实例动态变化需要注册中心来管理,Nacos作为主流解决方案,提供了服务注册、发现、健康检查等功能。文章详细演示了Nacos的部署过程、服务注册方法,以及两种服务调用方式(直接调用和使用@LoadBalanced注解)。关键特性包括心跳检测机制、负载均衡策略和集群权重配置,通过流程图清晰展现了完整工作流程。Nacos有效解决了服务动态管理、负载均衡等微服务核心问题,是构建弹性分布式系统的重要组件。
2025-10-12 19:06:22
1003
原创 # MinIO 核心概念详解与单、多、大文件上传实战
MinIO 是一个高性能的开源对象存储系统,兼容 Amazon S3 API,可作为私有云存储解决方案。其核心概念包括存储桶(Bucket,用于分类存储)、对象(Object,即文件)、客户端(Client,提供多种操作方式)和访问策略(Policy,控制权限)。搭建 MinIO 环境需添加 Maven 依赖并配置连接参数。文件上传功能支持单文件和多文件上传,通过检查存储桶、生成唯一文件名、执行上传操作实现,多文件上传采用并行流提高效率。代码示例展示了 Java 客户端的具体实现方法。
2025-10-09 08:42:20
629
原创 MongoDB:Java开发者轻松入门
MongoDB作为文档型NoSQL数据库,以灵活的JSON文档结构存储数据,与Java对象模型高度契合。相比MySQL的严格表结构,MongoDB支持动态字段,适合快速迭代的业务场景。其核心优势包括无模式设计、易扩展性和开发高效性。
2025-09-28 14:52:30
1022
1
原创 MySQL读写分离:提升数据库性能的利器
简单来说,读写分离就是将数据库的读操作和写操作分散到不同的数据库服务器上,它的原理还是很简单的,而且实现起来并不难。写操作(如INSERTUPDATEDELETE)主要针对主数据库(Master)。读操作(如SELECT)主要针对一个或多个从数据库(Slave)。这样做的核心思想是:在大多数互联网应用中,“读多写少”是常态。通过增加多个只读的从库,可以极大地分担主库的压力。 读写分离是构建高并发、高可用数据库架构的基石之一。
2025-09-25 11:49:15
1619
2
原创 RabbitMQ:像快递站一样传递消息的中间人
RabbitMQ是一个开源消息代理软件,实现了AMQP协议,用于应用程序间的异步通信。它通过生产者-消费者模式解耦系统,提供缓冲削峰、可靠传输等优势。核心概念包括生产者、消费者、队列、交换器(分Direct、Fanout、Topic、Headers四种类型)等,类似快递站的分发机制。Java示例展示了如何通过AMQP客户端库实现消息发送和接收。RabbitMQ能有效解决系统直接调用导致的雪崩问题,提升系统可靠性和扩展性。
2025-09-23 15:35:00
1306
1
原创 分布式锁:解决高并发问题的核心技术之一(基于Redis的实现)
本文介绍了分布式锁的概念及其在Redis中的实现方式。分布式锁用于协调多台计算机对共享资源的访问,防止数据冲突和重复操作。Redis因其高性能和原子操作特性成为实现分布式锁的理想选择。文章详细讲解了Redis分布式锁的核心命令、Java/Python代码实现,并以电商秒杀系统为例展示实际应用。关键特性包括互斥性、超时机制、安全性和容错性。最后提出了锁粒度、超时时间设置等注意事项,指出Redis分布式锁是一种简单高效的分布式协调方案。
2025-09-21 13:56:40
975
3
原创 .NET 中的 IOC 容器和 Autofac最通俗的方式解释
Autofac 是 .NET 生态中一个非常流行、功能强大且性能优异的 IOC 容器。它的核心步骤就两步:注册:告诉容器,接口和具体类之间的映射关系。解析:从容器请求获取你需要的对象。使用 Autofac 完成上面的示例:1. 安装 NuGet 包2. 代码示例// ... 上面的接口和类定义 (IMessageService, EmailService, SmsService, UserController)// 第一步:创建容器构建器。
2025-09-17 21:24:10
995
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅