自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JVM】类初始化和加载

Java对象创建与类加载过程详解 对象创建过程分为五个阶段: 类加载检查:验证类是否已加载 内存分配:根据GC算法选择分配方式 初始化零值:设置字段默认值 设置对象头:存储元数据信息 执行init方法:完成构造器初始化 类加载过程包含三大阶段: 加载:读取字节码并创建Class对象 链接:验证、准备(静态变量初始化)和解析(符号引用转换) 初始化:执行静态代码块和变量赋值 类卸载需满足三个条件:实例回收、ClassLoader回收和Class对象无引用。整个过程确保了Java类型安全性和内存管理效率。

2026-01-04 13:21:47 566

原创 Prometheus + Grafana 搭建应用监控体系

本文介绍了使用Prometheus+Grafana搭建应用监控体系的实践过程。首先在Spring Boot应用中集成监控采集能力,通过Micrometer暴露指标数据;然后利用Docker Compose部署监控平台,配置Prometheus抓取应用指标;最后在Grafana中实现数据可视化展示。该监控体系为后续JMeter压测营销系统抽奖接口提供了性能观测基础,同时建立了可持续的系统稳定性保障机制。

2026-01-04 12:32:28 660

原创 【Redis】5个基本数据类型

Redis 提供5种核心数据类型:String(SDS实现,支持3种编码)、List(QuickList+ListPack)、Set(IntSet或HashTable)、Zset(ListPack或Dict+SkipList)、Hash(ListPack或HashTable)。底层采用智能数据结构切换机制,根据数据特征(如长度、类型)自动选择最优存储方式,平衡性能与内存效率。关键技术包括:SDS的二进制安全、QuickList的混合存储、渐进式rehash、小数据优化(ListPack)等,充分体现了Red

2025-12-29 21:34:49 831

原创 【JVM】垃圾回收机制、算法以及垃圾回收器

本文系统介绍了JVM垃圾回收机制,主要内容包括:1)触发GC的三种情况;2)垃圾回收机制中的对象晋升策略、大对象处理及可达性分析方法;3)三种核心垃圾回收算法(标记-清除、复制、标记-整理)的原理与特点;4)四种主流垃圾回收器(Serial、Parallel、CMS、G1)的工作原理和适用场景。重点分析了CMS的并发标记流程和G1的分区回收机制,比较了各回收器在STW、吞吐量和内存管理方面的差异,为JVM调优提供了理论基础。

2025-12-29 21:32:32 942

原创 【Spring】BeanFactory、FactoryBean区别和使用

本文对比了Spring框架中的三种核心组件:BeanFactory、FactoryBean和ApplicationContext。BeanFactory是IoC容器接口,支持编程式动态注册和管理Bean;ApplicationContext扩展了BeanFactory,提供更多企业级功能;FactoryBean是特殊Bean接口,用于封装复杂对象的创建逻辑。三者各有侧重:BeanFactory适合运行时动态管理,FactoryBean用于声明式复杂对象创建,ApplicationContext则是标准Spr

2025-12-28 20:29:55 663

原创 【Java基础】AOP与注解

切面类需使用@Aspect@Aspect@Component@Slf4j切点用于描述哪些方法/类/连接点需要被拦截。在 AOP 中,切面逻辑主要通过以下几种Advice通知类型注解作用时机前置通知@Before目标方法执行前后置通知@After目标方法执行后(无论是否异常)返回通知目标方法成功返回后异常通知目标方法抛出异常后环绕通知@Around在目标方法前后都可执行,并可决定是否执行目标方法。

2025-12-26 17:58:38 1094

原创 【Java基础】SPI机制

/ 在项目A中定义接口SPI核心:接口定义规范,实现由第三方提供,运行时自动发现实现方式设计思想:面向接口编程,实现可插拔架构应用场景:驱动扩展、插件系统、框架扩展点Spring增强:扩展为spring.factories,支持更多扩展点,成为自动装配基石。

2025-12-26 17:57:06 768

原创 BIO、NIO,IO多路复用(Selector、epoll)学习详解

摘要:本文对比了BIO(同步阻塞IO)和NIO(同步非阻塞IO)两种网络通信模型。BIO每个连接需要独立线程处理,线程会阻塞直到通信完成;NIO通过Selector和epoll机制实现单线程处理多连接,Selector基于操作系统epoll函数实现多路复用,监听连接和读写事件,仅在有事件时才唤醒线程处理,避免了CPU空转。NIO通过注册文件描述符到epoll列表,利用epoll_wait等待就绪事件,实现高效的单线程多连接管理。

2025-12-24 14:33:02 1159 1

原创 nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:

遇到的错误 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module表明Nginx在,因此无法处理HTTPS配置。

2025-12-22 15:19:21 602

原创 EM-Agent:基于 COZE AI Agent 的含能分子分析应用。(FRP内网穿透实现)

本文介绍了基于Agent的含能分子预测分析应用的开发过程。项目采用Coze平台集成MCP服务,初期尝试SSE部署失败后改用API方式实现稳定调用。为解决Coze平台HTTPS访问需求,使用FRP内网穿透技术,配置服务器端和客户端参数,并通过Nginx反向代理实现标准端口访问。关键技术包括服务兼容性保障、TLS加密安全传输、端口规划及Nginx负载分发。最终实现了用户在线驱动下的分子性质预测、图像生成与分析功能。

2025-12-20 14:44:08 1101

原创 为网站配置HTTPS(Nginx SSL证书设置)

本文详细介绍了如何为域名code4free.xyz配置Nginx实现HTTPS加密访问。主要内容包括:1)准备SSL证书文件(.pem和.key);2)编辑Nginx配置文件,设置443端口监听、证书路径和HTTP到HTTPS的301重定向;3)测试配置语法并重启Nginx服务;4)通过浏览器验证配置效果,确保HTTP自动跳转HTTPS且证书显示正常。文章提供了完整的配置示例和关键参数说明,适合需要为网站部署SSL证书的开发人员参考。

2025-12-19 21:29:36 705

原创 MYSQL底层原理详解

当字段类型为字符串(varchar, text等)时,有时候需要索引很长的字符串,这会让索引变得很大,查询时,浪费大量的磁盘O,影响查询效率。利用隐式字段中的trx_id匹配ReadView规则,若满足则进行操作,若不满足规则,利用隐式字段中的toll_ptr,在undo log版本链中找到满足规则的记录进行操作。对于B-tree,无论是叶子节点还是非叶子节点,都会保存数据,这样导致一页中存储的键值减少,指针跟着减少,要同样保存大量数据,只能增加树的高度,导致性能降低。这是保证数据一致性的基础。

2025-12-18 19:32:54 623

原创 用户行为返利业务流程实现

本文提出了一种基于策略模式的用户行为返利系统设计方案。通过数据库配置表(rebate_config_table)管理不同行为对应的返利规则,将每次返利操作抽象为订单记录(rebate_order),并采用异步消息队列实现返利分发。系统通过策略模式处理不同返利类型,利用订单号保证幂等性,实现了高可用和安全的返利流程。该方案可扩展支持支付、签到等多种用户行为,避免了硬编码带来的维护问题,为业务增长提供了灵活的返利机制。

2025-12-18 15:17:21 816

原创 Synchronized锁升级流程

Java中的synchronized关键字通过同步方法和代码块实现线程安全,底层基于对象监视器锁机制。在字节码层面表现为monitorenter和monitorexit指令,利用对象头的Mark Word记录锁状态。JDK 1.6后引入锁升级优化:从偏向锁(单线程场景)到轻量级锁(线程交替执行),最终升级为重量级锁(高竞争场景)。这种机制在保证线程安全的同时,显著提升了并发性能。

2025-12-16 14:18:42 654

原创 SpringAI 、AIAgent 项目搭建学习。

本文介绍了Spring AI框架在RAG(检索增强生成)和MCP(模型上下文协议)应用中的实践方法。踩坑总结: 版本兼容性问题 多模型源配置冲。主要内容包括: 环境配置:通过引入Spring AI BOM管理版本,支持OpenAI、Ollama等多种模型源,配置API密钥和基础URL。 MCP服务搭建: 分为客户端和服务端配置 支持stdio和SSE两种调用模式 提供CSDN发帖等具体业务功能实现示例 AI Agent组装: 支持自定义大模型调用 可组合多个MCP工具 支持知识库集成 提供完整的工作流示例

2025-12-15 11:10:42 1621

原创 JVM 学习小记(边学边充实)

JVM必备知识,JVM内存模型,类加载机制,垃圾回收算法,垃圾回收器

2025-12-14 16:14:03 739

原创 Java线程池学习应用

本文深入解析Java线程池的核心原理与配置实践。介绍了ThreadPoolExecutor的7个关键参数(核心线程数、最大线程数、工作队列等)及其作用机制,对比了不同队列类型和拒绝策略的适用场景。文章指出Executors工厂方法的潜在风险,推荐使用Spring封装的ThreadPoolTaskExecutor进行线程池管理。最后总结了线程池任务撤回与停机方法,强调合理配置线程池对提升应用性能的重要性。

2025-12-13 02:04:48 743

空空如也

空空如也

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

TA关注的人

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