自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员Forlan的博客

程序员Forlan的博客是一个分享技术探索和成长经历的平台。在这里,我记录了自己在软件开发领域的点滴经验,包括技术学习、项目实践、心得体会等。我希望通过这个平台,与大家分享我的技术探索历程,共同学习、共同进步。

  • 博客(156)
  • 收藏
  • 关注

原创 Spring源码:手写SpringIOC

本文主要介绍如何实现SpringIOC,手撸源码

2024-02-19 20:55:32 1306

原创 Spring源码剖析--事务篇

文章主要介绍了事务的实现方式,包括JDBC和Spring两种方式。同时,也介绍了事务管理器TransactionManager和事务定义TransactionDefinition等核心概念。文章还通过实验和总结的方式,详细介绍了事务的提交和回滚过程,并阐述了如何使用@Transactional注解实现事务传播行为。最后,文章提炼了事务的实现在于通过TransactionInterceptor注入容器中,并总结了事务传播行为的实现方式。

2023-06-14 23:04:55 993 2

原创 Java分页查询方式总结

MySQL的实际处理过程是:从存储引擎中读取满足条件的前 100010 (OFFSET + LIMIT) 条记录,在服务层(Server Layer)对这些记录进行排序,抛弃前面的 100000 条记录,返回最终的 10 条记录。所以,OFFSET 值越大,MySQL需要扫描、加载并最终抛弃的行数就越多,这导致了巨大的I/O和CPU资源浪费,是性能下降的直接原因。核心思想:先通过覆盖索引快速定位到目标页的主键ID,然后再关联原表获取完整的行数据,从而减少对主表数据的扫描。1)延迟关联:优化后的写法。

2026-01-04 19:03:55 871

原创 Kafka调试技巧分享

本文介绍了Kafka消费机制和调试方法。在消费组机制下,消息可能被多台机器消费,取决于配置策略。新增机器时偏移量处理方式由auto.offset.reset参数控制。针对本地调试,可通过@KafkaListener指定分区和偏移量来重复消费特定消息。对于线上环境,提供了通过接口重新消费指定消息的方案,包括创建临时消费组、定位偏移量和单条拉取消息的实现代码。文中还给出了Kafka连接配置示例,帮助开发者快速实现消息重消费功能。这些方法可以有效解决开发和测试过程中需要重复消费特定消息的需求。

2025-12-28 14:52:19 510

原创 深入解析线程池拒绝策略:保障系统稳定运行的守护者

本文深入解析Java线程池的四种拒绝策略:1)CallerRunsPolicy:调用线程直接执行任务,适用于不允许丢失但可接受延迟的场景;2)AbortPolicy(默认):抛出异常,适合关键业务;3)DiscardPolicy:静默丢弃,用于非关键任务;4)DiscardOldestPolicy:丢弃队列最老任务并重试当前任务,适用于实时数据更新系统。文章详细阐述了各策略的触发时机、实现机制、适用场景及风险提示,帮助开发者根据业务特性选择合适的拒绝策略。

2025-12-12 19:19:08 926

原创 ES 别名:核心用法与避坑

Elasticsearch别名功能摘要 ES别名是指向物理索引的逻辑引用,类似快捷方式,实现应用与索引的解耦。核心价值包括:1)平滑索引切换(原子化更新别名,无需停机或改代码);2)灵活分片管理(通过别名聚合多索引查询)。版本演进从0.90的基础功能到7.x与ILM深度集成,支持过滤、多索引读写分离等特性。典型实践如:数据迁移时通过别名切换实现零停机,或按月分片索引后使用别名统一查询。别名层显著提升运维灵活性,避免硬编码索引名带来的维护成本。

2025-10-18 14:19:47 1082

原创 告别手动录入!Python 借助 xmind2testcase 把 XMind 思维导图转成 CSV 导入禅道

在测试工作中,很多人习惯用 XMind 思维导图梳理测试用例,但禅道等管理工具常需 CSV 格式的用例文件,手动转换不仅耗时还易出错。本文将手把手教你用 Python 结合xmind2testcase工具,实现 “XMind 思维导图→CSV 用例文件→禅道导入” 的全流程自动化:先讲解环境配置(Python、xmind2testcase 安装),再演示思维导图规范设计(确保字段匹配禅道需求),接着用代码 / 命令行完成格式转换,最后说明 CSV 导入禅道的操作细节。整个过程无需复杂编码,新手也能快速上手,

2025-10-10 14:47:20 556

原创 SpringBoot查询方式全解析

本文介绍了Spring Boot中HTTP请求方法的使用规范及常用注解分类。GET方法适用于幂等查询操作,而POST/PUT/DELETE分别对应增改删操作。文章详细分类了请求映射、参数绑定、控制器增强等六大类注解,并提供了路径变量、查询参数、实体类参数三种查询方式的代码示例。最后介绍了@JsonAlias和@JsonProperty等扩展参数,用于处理JSON数据绑定中的字段别名问题。这些内容为Spring Boot开发提供了清晰的HTTP接口设计指南。

2025-08-10 16:55:12 1064

原创 Swagger简单入门

本文介绍了Swagger常用的26种注解及其用法,如@Api标记类、@ApiOperation描述接口、@ApiModel定义模型等,用于增强API文档的可读性。还提供了Knife4j的集成方法,包括依赖配置和Spring Boot的Docket配置示例,支持分组显示API文档。这些注解和工具能够帮助开发者快速生成规范的API文档,提升开发效率。

2025-06-28 17:52:23 649

原创 手把手教你开发Edge浏览器扩展插件

本文介绍了一个用于修改浏览器cookie的Edge扩展插件开发过程。

2025-05-28 19:25:47 3069

原创 FeignClient不同请求格式解决方案

FeignClient不同请求格式解决方案

2024-09-06 20:20:30 794

原创 如何在测试/线上环境页面访问本地接口?

主要分享了如何在测试/线上环境页面访问本地接口,进行接口测试

2024-06-01 22:39:36 1697

原创 @Transactional事务注解内含乾坤?

本文主要分析证明@Transactional的一个隐含操作

2024-06-01 12:59:22 921

原创 多线程应用实战

主要分享了一些多线程应用场景,帮助自己和大家更好理解它

2024-05-09 21:39:38 338

原创 CountDownLatch、CyclicBarrier 和 Semaphore

主要介绍了Java并发编程中三个重要的同步工具:CountDownLatch、CyclicBarrier和Semaphore,它们的原理,使用场景...

2024-05-09 21:38:02 1731

原创 Java零拷贝技术实战

主要分享传统IO、mmap、文件描述符代码实战以及区别

2024-05-08 12:55:30 687

原创 Tomcat、MySQL、Redis最大支持说明

常见框架、中间件最大值说明

2024-05-08 11:46:28 1312 1

原创 协程:轻量级多线程编程的解决方案

本文全面探讨了协程这一轻量级多线程编程的概念、原理、实现与应用。从概念引入到实际案例分析,文章详细阐述了协程与线程的区别、Kilim协程框架的原理以及如何在实践中运用协程解决并发问题。文章还特别针对在打印文字和推荐算法两个案例中,使用多线程和协程的效率进行了比较,证明了协程在处理高并发场景时的优越性。

2024-04-15 21:02:28 1441

原创 UML简单小结

本文全面概述了统一建模语言(UML)的基本概念、建模工具以及核心组成部分。

2024-04-15 21:00:55 936

原创 Java中重试功能实现

本文分享实现重试功能的方式

2024-04-09 20:57:04 788

原创 SpringBoot中注册Bean的方式汇总

SpringBoot注册Bean的方式汇总

2024-04-09 20:55:16 2636

原创 常见加密算法

主要介绍了常见加密算法,进行比较

2024-03-26 21:25:50 1441

原创 SpringBoot集成系列--Flowable

本文主要介绍工作流引擎Flowable,以及在SpringBoot如何应用

2024-03-26 21:23:36 7121 1

原创 Spring源码:手写Bean配置

主要介绍了基于注解和配置来实现Bean的配置

2024-03-21 20:58:52 828

原创 我的创作纪念日

创作纪念日的一些思考

2024-03-21 14:10:17 247

原创 Spring源码:手写AOP

本文主要介绍如何实现SpringAOP,手撸源码

2024-03-07 22:00:16 1322

原创 MySQL事务隔离级别

本文主要探讨MySQL事务隔离级别的使用,具体什么场景使用啥,实战验证出现的并发事务问题

2024-03-07 21:59:03 6624

原创 MySQL常见字段类型长度汇总

本文主要整理了常见的数据库字段类型,方便大家进行查阅~

2024-03-04 21:01:02 5843

原创 Spring源码:手写SpringDI

本文主要介绍如何实现SpringDI,手撸源码

2024-03-04 20:01:52 922

原创 SpringBoot支持哪些日志框架?推荐和默认的日志框架是哪个?

本文详细探讨了Spring Boot所支持的日志框架,包括Logback、Log4j2等,并阐述了这些框架的特点和使用方法。

2024-02-19 20:53:19 3743

原创 BeanUtils和BeanCopier性能复制Bean工具比较

本文对BeanUtils和BeanCopier两种常见的Bean复制工具进行了性能比较。通过实验测试,发现BeanCopier在性能上优于BeanUtils,尤其是在复制大型Bean对象时表现更佳。本文还深入分析了两种工具的原理,并指出了各自的优势和适用场景。

2024-01-28 16:40:07 956

原创 博客文章质量分数列表【分页、排序、搜索】

本文首先分析了官方提供的查询,然后实现前端和后端,详细阐述了实现效果,最后总结了出现安全验证和401 Unauthorized错误的原因。

2024-01-28 16:36:05 1630

原创 在1G的内存中,对百亿个QQ号去重?

在内存有限的情况下,如何对大量数据进行去重是一个具有挑战性的问题。本文将介绍在1G内存中,对百亿个QQ号进行去重的方法。我们将通过公共方法、HashSet、Java8的Stream、Segment、BloomFilter和BitMap等不同方式来实现。这些方法各有优缺点,适用于不同的情况。通过对这些方法的比较和分析,我们可以得出在特定情况下最有效的去重方法。在处理大规模数据时,我们需要考虑内存使用、去重效率和准确性等因素。通过优化数据结构和算法,我们可以提高处理大规模数据的效率,并解决实际应用中的问题。

2024-01-10 22:47:12 1210

原创 BloomFilter和BitMap的介绍与使用

本文介绍了BloomFilter和Bitmap两种数据结构,并对其使用场景进行了概述。同时,也讨论了它们之间的区别。

2024-01-10 22:43:14 1289

原创 类注册到Spring容器,类实现的接口可以获取到该类的bean实例?

主要探讨了Spring框架中Bean的实例化、注册以及依赖注入的相关内容。

2024-01-09 20:51:26 1251

原创 VMware Workstation安装以及配置模板机

VMware Workstation安装以及配置模板机

2024-01-09 20:50:35 2412

原创 @Async坑:Null return value from advice does not match primitive return type for

主要探讨了@Async方法的特点,包括其不能有返回值、报错原因以及为什么@Async方法的返回值不能是基本类型。然后,文章提供了针对该报错的解决方案。最后,通过拓展部分,讨论了项目中阻塞等待异步方法返回值的常见用法以及异步方法内部调用的其他潜在问题。

2024-01-08 19:44:27 1858

原创 分布式锁实现方案汇总

本文对几种主流的分布式锁实现技术进行了详细的探讨,包括Redis、Zookeeper、Etcd、MySQL,并通过秒杀案例进行应用实践。同时也对一些常见的问题进行了总结。在每种锁的实现中,文章详细介绍了核心代码、单元测试和SpringBoot应用。通过这些技术,可以有效地解决分布式系统中的并发问题,保证数据的一致性和系统的稳定性。

2024-01-08 19:38:30 1479

原创 PostgreSQL相对MySQL有啥区别?

PostgreSQLvs MySQL汇总

2024-01-02 21:59:33 970

原创 PostgreSQL表全解

本文概述了数据库中的关键概念,包括约束、触发器、表空间、视图、索引和物化视图。约束用于确保数据的完整性,包括主键、非空、唯一、检查、外键和默认值。触发器用于在数据库操作前、后自动执行特定的操作。表空间是数据库中存储数据的位置。视图是一个虚拟表,基于一个或多个实际表的查询结果。索引用于加快数据检索速度,分为基本概念、分类和创建方式。物化视图是预计算的视图,用于提高复杂查询的性能。这些概念在数据库设计和管理中起着重要作用,帮助提高数据的一致性和完整性,并优化查询性能。

2024-01-02 21:59:03 1601

kibana7.17.10-最新支持Java1.8版本

kibana7.17.10-最新支持Java1.8版本

2023-06-19

etcd-v3.5.11

etcd-v3.5.11-windows版本

2023-12-21

Kubeadm构建K8S集群

包含了docker、k8s等各种镜像

2023-11-23

elasticsearch7.17.10-最新支持Java1.8版本

elasticsearch7.17.10-最新支持Java1.8版本

2023-06-19

空空如也

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

TA关注的人

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