logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Redis IO 多路复用模型

Redis 采用单线程 Reactor 模式处理客户端请求,其高性能的核心就在于I/O 多路复用技术。核心思想:使用一个进程/线程同时监听多个文件描述符(Socket),当某些描述符就绪(可读/可写)时,通知程序进行相应操作。解决的问题:避免为每个连接创建线程/进程带来的资源消耗,实现高并发连接处理。单线程事件循环避免了锁竞争和上下文切换多路复用技术高效管理大量连接纯内存操作保证极快的响应速度渐进

#redis#数据库#缓存
使用 AI 开发 Vue3 项目

有 AI 的加持,写代码会非常高效。90% 的代码都可以通过 AI 生成,一个人真可以顶多个人的效率。我用的还是 GPT3.5 版本。如果付费使用 GPT4.0 以及使用未来的 CopilotX ,那效率会更高。AI 普及真的可能会导致一部分人失业,尤其是那些日常只写 CRUD 、效率又不高的人。当然,这种人也应该不会去积极学习 AI 工具。AI 仅仅是一个工具,它需要主人。让你失业的不是 AI

#人工智能#copilot
idea打包jar的多种方式,用IDEA自带的打包形式,用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包,用Maven插件maven-assembly-plugin打

,当然此标签内容很复杂,不是上面写的那么简单,上面之所以如此简单,是因为在所有类中(包括第三方Jar)只有一个Main方法。如果第三方jar中有Main方法,就要进行额外的配置,上面这么配置,不一定能执行成功。上面的打包过程实在是过于的繁琐,而且也没有利用到maven管理项目的特色。如果使用IDEA的话,可以通过自带的maven管理工具代替执行上面的命令。如果使用IDEA的话,可以通过自带的mav

#intellij-idea#jar#maven
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别

kafka是apache开源的消息队列顶级项目之一,在大数据场景下使用较多,由linkedin开源,目前社区活跃,全球较多组织开始使用kafka来进行数据交换。kafka采用mq结构,broker有part分区的概念RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的标

#rabbitmq#kafka#rocketmq
数据库中间件全景解析:从连接管理到分布式协同

技术选型建议:初创企业优先选择成熟开源方案(如ShardingSphere+Seata),大型企业可考虑商业版中间件(如Oracle Service Bus)或基于K8s Operator的自研方案。数据库中间件作为连接应用层与数据库的桥梁,通过解耦、抽象与优化三大核心能力,解决了分布式架构下的连接管理、性能瓶颈与数据一致性等关键问题。例如,某电商系统采用ProxySQL后,数据库连接数从3000

#数据库#中间件#分布式
JDK25新特性

JJDK 25 作为 Java 的下一个长期支持版本(LTS),计划于 2025 年 9 月16日正式发布。该版本聚焦语言表达力提升、性能优化、并发模型革新及安全增强,是继 JDK 21 后的首个 LTS 版本。共18个JEP。

#java
docker从入门到实践的全面教程

Docker是一个开源平台,允许开发者使用容器来构建、部署和运行应用程序。容器是轻量级的、独立的、可执行的软件包,包含了运行应用所需的一切:代码、运行环境、系统工具、系统库和设置。与传统虚拟机不同,Docker容器共享主机系统的内核,但在用户空间中运行隔离的进程。这使得容器启动速度快、资源消耗低,同时保持了良好的隔离性。Docker部署为应用提供了一种强大、灵活且一致的方式,使得从开发到生产的过程

#docker#eureka#容器
NIO:解开非阻塞I/O高并发编程的秘密

在不同的操作系统,甚至同一系列操作系统的版本中所实现的多路复用IO技术都是不一样的。面向对象的威力就显现出来了: 无论使用哪种实现方式,他们都会有“选择器”、“通道”、“缓存”这几个操作要素,那么可以为不同的多路复用IO技术创建一个统一的抽象组,并且为不同的操作系统进行具体的实现。最初在认识上有这样的误区,认为只有在 netty,nio 这样的多路复用 IO 模型时,读写才不会相互阻塞,才可以实现

#nio#java#服务器
SpringMVC的执行流程以及运行原理

​编辑看到这个英文注释了吗,“为当前请求确定处理器”,这就是前端控制器查找对应处理器的入口,我们点进去看一下,会发现你看到了 HandlerMapping 组件,并调用了 getHandler 方法,处理完成后返回了一个 HandlerExecutionChain 对象,是不是和我们流程图中的2、3步对应了呢。用户请求到达前端控制器,它就相当于 MVC 模式中的 C,DispatcherServl

#spring
Java内存泄漏问题分析

CLOSE_WAIT成因:程序未正确响应TCP连接的关闭流程,需检查或HTTP客户端释放逻辑。内存泄漏排查:通过堆转储(Heap Dump)分析最大对象占用,结合业务日志定位增长源头。缓存设计:确保缓存键的唯一性和有效性,避免“伪缓存”导致资源泄漏。// 修复后:使用统一缓存键并显式关闭旧连接// 释放旧连接。

#java#开发语言
到底了