- 博客(276)
- 收藏
- 关注

原创 Java开发企业微信会话存档功能笔记小结(企业内部开发角度)
本文详细介绍了企业微信会话内容存档功能的完整开发流程,从环境配置到系统集成。主要内容包括:1)企业微信后台的存档功能开启、人员范围设置及回调服务器配置;2)系统架构设计采用业务接口服务+数据拉取服务的双模块方案,确保消息可靠性;3)核心代码实现涵盖SDK初始化、消息拉取解密、媒体文件下载等关键环节;4)常见问题解决方案如回调重复请求处理、文件校验异常等。
2025-06-16 16:34:05
1505
9

原创 StandardThreadExecutor源码解读与使用(tomcat的线程池实现类)
StandardThreadExecutor 是 Apache Tomcat 中的一个线程池实现类,是 Tomcat 生命周期中的池化线程资源的封装。StandardThreadExecutor是为了更好地适应Tomcat容器中HTTP请求的处理而设计的。通过优先创建非核心线程来执行任务,避免了任务在等待队列中长时间积压,从而提升了服务器的响应速度。
2024-11-02 17:37:20
981
3

原创 ReentrantLock(可重入锁)源码解读与使用
ReentrantLock是一种独占式的可重入锁,位于JUC包下,是Lock接口的默认实现类。有三个特性:支持可重入,支持公平与非公平特性,提供堵塞锁和非阻塞锁两种获取方法(lock和trylock)其中内部锁的竞争是基于AQS实现的,当某一线程获取锁后,将state值+1,并记录下当前持有锁的线程,再有线程来获取锁时,判断这个线程与持有锁的线程是否是同一个线程,如果是,将state值再+1,这样就实现了锁的可重入。当线程释放锁时,将state值-1,当state值减为0时,表示当前线程彻底释放了锁,唤
2024-04-25 20:21:31
8861
52

原创 CyclicBarrier(循环屏障)源码解读与使用
CyclicBarrier可以让一组线程互相等待,直到最后一个线程也准备就绪后,它们才能继续运行。就好比几个朋友约好一起吃晚餐,必须等到所有人到齐后才能入座就餐。CyclicBarrier实现了这种"集体出发"的功能,每次所有线程就位后,它们可以执行一个预先指定的任务,然后继续向前推进。有趣的是,CyclicBarrier与CountDownLatch不同,它可以重复使用。这也从侧面体现了两者在设计理念上的差异。借鉴了AQS的精髓,CyclicBarrier内部通过ReentrantLock和Con
2024-04-23 22:00:48
7951
73

原创 CountDownLatch(倒计时器)源码解读与使用
在很多的面经中都看到过提问 CountDownLatch 的问题,正好我们最近也在梳理学习AQS(抽象队列同步器)、CAS操作等知识,而 CountDownLatch 又是JUC包下一个比较常见的同步工具类,我们今天就继续来学一下这个同步工具类!CountDownLatch 是一个多线程同步辅助类,它允许一个或多个线程等待一系列操作在其他线程中完成。这个机制类似于一场赛跑,选手们在起跑线准备,等待发令枪响后才能开始比赛。
2024-04-22 21:24:43
8187
58

原创 CAS机制(Compare And Swap)源码解读与三大问题
CAS(Compare And Swap)作为一种无锁编程技术,被广泛应用于Java的并发编程中。它通过利用CPU指令在操作数据时先比较内存值是否发生变化,如未变化则更新,否则重试循环直到成功为止,从而实现非阻塞的原子操作。CAS操作的优势在于避免了传统悲观锁导致的线程阻塞和切换开销,适用于读操作远多于写操作的应用场景。但它也存在着经典的ABA问题、无法保证多个共享变量的原子性以及在高并发写操作时自旋会导致CPU时钟周期浪费等缺陷。在JDK1.5之后,通过版本号机制来解决了ABA问题。对于长时间自旋
2024-04-21 20:26:05
9028
62

原创 利用AQS(AbstractQueuedSynchronizer)实现一个线程同步器
我们在上篇文章带领大家阅读了AQS的源码,理解了AQS的底层实现,AQS 为构建锁和同步器提供了一些通用功能的实现,今天我们就实践一下,基于AQS实现一个同步器,看看AQS如何帮助我们快速构建同步器。同步器是一种用于线程同步的工具,控制多个线程对共享资源的并发访问。如Semaphore信号量,CountDownLatch (倒计时器)、CyclicBarrier(循环屏障)都属于同步器。
2024-04-20 21:28:41
13728
67

原创 AQS(AbstractQueuedSynchronizer,队列同步器)源码解读
AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。AQS为Java的并发包提供了强大的同步支持。通过内置的FIFO队列来完成资源获取线程的排队工作,并且利用一个被volatile关键字修饰的int类型的变量表示同步状态。AQS 为构建锁和同步器提供了一些通用功能的实现,许多同步类实现都依赖于它,如常用的ReentrantLock、Semaphore等。
2024-04-19 21:15:28
13807
48

原创 Semaphore(信号量)源码解读与使用
Semaphore 是一个在多线程环境中用于控制对共享资源的访问的同步器(synchronizer),它是 Java 5 中引入的 java.util.concurrent(JUC)包的一部分。Semaphore 维护了一个许可集,线程在执行前必须从 Semaphore 获取一个许可。如果没有许可可用,线程将阻塞等待,直到其他线程释放许可。可以用来限制数据库连接数、限制服务器可处理请求数等。
2024-04-17 20:17:25
13612
30

原创 Java多线程实战-从零手搓一个简易线程池(四)线程池生命周期状态流转实现
在前面几篇文章中,我们已经实现了线程池的核心功能:任务队列、执行逻辑以及线程管理。本次我们将继续扩展补充线程池的功能,为线程池添加生命周期管理。通过引入生命周期,我们能够更加灵活地管理和控制线程的创建、运行和销毁过程。可以更好地处理资源分配、任务调度和系统稳定性等方面的问题。
2024-04-09 21:19:28
14823
80

原创 Java多线程实战-从零手搓一个简易线程池(三)线程工厂,核心线程与非核心线程逻辑实现
在上一节我们实现了线程池内部的基本运转逻辑,池化了线程资源进行任务处理,细心的同学可以发现,我们上章没有划分核心线程与非核心线程的概念,在JDK官方的提供的线程池中,线程池中的线程从概念上分为核心线程和非核心线程,核心线程是线程池中长久存在的线程,默认不会被回收,而非核心线程在空闲时间超过设置的最大空闲时间时会被回收,当然,我们也可以通过设置一个属性来运行核心线程被回收。
2024-04-02 15:24:52
14731
47

原创 Java多线程实战-从零手搓一个简易线程池(二)线程池实现与拒绝策略接口定义
在前面的文章中,我们讲解了任务堵塞队列的实现,这篇文章会基于任务堵塞队列实现一个简易的线程池,在后续的文章中,还会继续对本章编写的线程池进行功能扩展和优化。
2024-03-27 14:44:09
244791
6

原创 Java多线程实战-从零手搓一个简易线程池(一)定义任务等待队列
开个新坑-手搓简易线程池。本系列文章将从零开始,一步步手工编码实现一个简单但功能完备的线程池。我们将逐步介绍线程池的各个核心组件,并分析它们的作用和实现思路。通过这个过程,我们可以更好地掌握多线程编程的技巧,并培养编码能力和系统性思维。
2024-03-25 20:22:10
250148
82
原创 Docker 多阶段镜像构建与缓存利用性能优化实践指南
本文从原理层面深入解析 Docker 多阶段构建与缓存机制,结合实际示例讲解如何高效利用缓存、优化镜像体积与构建速度,适用于生产环境。
2025-09-15 16:01:33
671
原创 RocketMQ 消息幂等性实战经验分享
在分布式系统中,消息幂等性设计对于确保数据一致性至关重要。本文结合生产环境实战案例,深入分享RocketMQ消息幂等的实现思路与方案,提供完整代码示例与最佳实践,为后端开发者在实际项目中快速落地提供参考。
2025-09-15 13:01:29
392
原创 基于Spring Boot DevTools的热部署原理深度解析与性能优化实践指南
深入解析Spring Boot DevTools热部署原理,剖析其源码与实现机制,并给出性能优化建议,提升开发效率与系统稳定性。
2025-09-15 08:00:45
556
原创 Kubernetes HPA 与 VPA 扩缩容策略对比分析与实践指南
本文对比分析了 Kubernetes Horizontal Pod Autoscaler (HPA) 与 Vertical Pod Autoscaler (VPA) 的扩缩容机制,结合实际场景给出选型建议与实践示例,帮助开发者在生产环境中构建高效稳定的应用弹性扩缩方案。
2025-09-14 16:00:51
496
原创 基于Grafana Loki与Prometheus的日志与指标一体化监控平台实战经验分享
本文分享了在生产环境中基于Grafana Loki和Prometheus打造日志与指标一体化监控平台的实战经验,涵盖业务场景、技术选型、架构设计、实施方案、常见坑及解决方法,为后端开发与运维工程师提供有价值的参考与最佳实践。
2025-09-14 08:01:04
216
原创 高并发场景下限流算法实践与性能优化指南
本文深入解析高并发场景下常用限流算法,包括令牌桶、漏桶、滑动窗口等,并结合Java、Redis和Spring Cloud Gateway给出可运行示例,提供性能优化建议。
2025-09-13 16:01:37
517
原创 基于Redisson的分布式锁原理深度解析与性能优化实践指南
本文深入剖析基于Redisson实现分布式锁的核心原理,结合源码解读演示了公平锁、可重入锁等常用模式,提供了实际可运行的示例,并从性能测试与优化角度给出实践建议,帮助后端开发者在高并发环境中高效、安全地使用分布式锁。
2025-09-13 13:01:11
522
原创 RocketMQ 高可用集群原理深度解析与性能优化实践指南
本文深入解析 RocketMQ 高可用集群的原理,探讨主备选举、消息存储与路由流程,并结合真实业务场景提供性能优化实践建议和丰富的代码示例,帮助开发者构建高效稳定的消息系统。
2025-09-13 08:01:12
646
原创 Spring Cloud Gateway 动态路由原理深度解析与性能优化实践指南
本文深入解析Spring Cloud Gateway的动态路由原理,结合实际生产环境案例,提供高效的性能优化策略和实践指南,帮助开发者在微服务架构中实现灵活、高性能的路由管理。
2025-09-12 16:02:59
674
原创 蓝绿发布与滚动更新:基于Kubernetes的微服务零停机切换实战指南
本文基于真实生产环境,深入分享在Kubernetes集群中如何使用蓝绿发布与滚动更新策略,实现微服务零停机切换。包括业务场景、技术选型、实施方案、常见坑及解决方法,帮助读者快速掌握实战要点。
2025-09-12 08:01:23
1009
原创 Caffeine 本地缓存最佳实践与性能优化指南
本文深入解析 Caffeine 本地缓存的核心原理与使用场景,并结合生产环境实践示例,提供性能调优建议与最佳实践指导。
2025-09-11 16:01:26
660
原创 深入解析 GraalVM Native Image 原理与最佳实践
本文深入解析 GraalVM Native Image 的原理及在 Spring Boot 应用中的实践,提供源码解读与优化建议。
2025-09-11 08:00:47
435
原创 多集群 Kubernetes 部署与混合云资源治理架构设计分享
本文分享了多集群 Kubernetes 部署与混合云资源治理的实战经验,从场景出发,深入探讨联邦架构、网络与安全配置、资源管控等关键技术,结合示例与最佳实践,帮助后端开发者和运维工程师搭建可靠的混合云集群环境。
2025-09-10 16:01:55
671
原创 Spring Boot Actuator自定义指标与监控实践指南
本文结合生产环境实践,深入讲解如何在Spring Boot Actuator中定义自定义指标,并通过Prometheus与Grafana进行监控与告警,提供详实的代码示例与实战经验。
2025-09-10 13:01:17
832
1
原创 Redis 集群模式读写分离与分片策略方案对比分析与实践指南
本文对 Redis 集群模式下的读写分离与分片策略展开对比分析,并结合实际生产环境提供实践指南,通过详细原理解析和代码示例,帮助开发者构建高可用、高性能的分布式缓存架构。
2025-09-10 08:01:08
430
原创 深入解析 Apache Flink Checkpoint 与 Savepoint 原理与最佳实践
本文深入解析 Apache Flink 中 Checkpoint 与 Savepoint 的工作原理和最佳实践,帮助读者掌握状态一致性与容错机制,实现高可用的实时数据处理。
2025-09-09 16:01:46
859
原创 大规模系统中的分库分表原理深度解析与性能优化实践指南
本文深入解析大规模系统中分库分表的核心原理,并结合真实生产环境用例,给出性能优化建议和实践示例。
2025-09-09 13:02:21
1317
原创 Redis缓存穿透、缓存击穿与雪崩防护及性能优化实战指南
本文分享在高并发场景下,多种Redis防护策略如布隆过滤器、互斥锁与自动降级的实践应用,并结合实际代码示例,深入探讨防护原理与性能优化方法。
2025-09-09 08:02:09
815
原创 深入实践G1垃圾收集器调优:Java应用性能优化实战指南
本文深入解析G1垃圾收集器的核心原理与调优策略,通过实际生产环境案例,结合监控指标和JVM参数配置,提供性能优化实践指南,帮助开发者提升应用响应速度与稳定性。
2025-09-08 13:03:55
1252
原创 Hadoop NameNode内存泄漏与GC停顿问题排查与解决方案
本文结合真实生产环境中的Hadoop NameNode实例,深入剖析NameNode内存泄漏与GC停顿的现象与根因,分享一线问题定位与解决思路,并给出优化改进及预防监控方案,帮助开发者有效提升NameNode稳定性与性能。
2025-09-08 08:01:51
616
原创 基于Apache Flink Stateful Functions的事件驱动微服务架构设计与实践指南
本文分享了基于Apache Flink Stateful Functions的事件驱动微服务架构设计与实践,包括业务场景、技术选型、核心代码示例、部署运维、踩坑经验与最佳实践。
2025-09-07 16:02:00
1042
原创 Kubernetes Pod 安全策略深度解析与最佳实践指南
本文深入解析Kubernetes Pod 安全策略,包括SecurityContext、PodSecurityContext、安全策略控制器等核心原理,并结合实际示例与最佳实践,助力开发者优化集群安全性。
2025-09-07 13:01:46
404
原创 Spring WebFlux响应式编程原理深度解析与性能优化实践指南
随着微服务和高并发场景的日益增多,传统基于Servlet的阻塞式I/O模型已难以满足系统对高吞吐和低延迟的要求。Spring WebFlux作为Spring 5中推出的响应式编程框架,基于Reactor并支持Netty、Undertow等异步服务器,为后端系统提供了更高的并发处理能力。本文将深入探讨Spring WebFlux的核心响应式原理,对关键源码进行解读,并结合实际项目场景给出性能优化方案与实践建议,帮助后端开发者轻松上手并提升系统性能。
2025-09-07 08:01:28
1065
原创 高并发场景下的数据库读写分离方案对比分析与一致性策略实践
本文对比了MyCat、ShardingSphere、Atlas、HAProxy等主流读写分离方案,并结合一致性策略和延迟补偿实践,给出在高并发场景下的选型建议与落地经验。
2025-09-06 16:00:39
1120
原创 Kafka Exactly-Once 语义深度解析与性能优化实践指南
本文深度解读 Kafka Exactly-Once 语义原理,并提供幂等生产者、事务协调器与消费隔离的完整实践与代码示例,结合实测数据与优化建议,帮助后端开发者在强一致性场景下平衡吞吐与延迟。
2025-09-06 13:01:01
796
原创 大规模写入场景下的MySQL性能优化实战指南
本文分享在大规模写入场景下MySQL性能优化的实战经验,包括索引策略、批量写入、事务配置与参数调优等。
2025-09-06 08:01:45
1011
繁体简体字幕转换工具1
2024-02-11
Snipaste - 高效桌面截图与贴图神器(类似QQ截图)
2024-02-07
Gif123 屏幕Gif录制工具 -windows
2024-02-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人