- 博客(313)
- 收藏
- 关注
原创 Java开发企业微信会话存档功能笔记小结(企业内部开发角度)
本文详细介绍了企业微信会话内容存档功能的完整开发流程,从环境配置到系统集成。主要内容包括:1)企业微信后台的存档功能开启、人员范围设置及回调服务器配置;2)系统架构设计采用业务接口服务+数据拉取服务的双模块方案,确保消息可靠性;3)核心代码实现涵盖SDK初始化、消息拉取解密、媒体文件下载等关键环节;4)常见问题解决方案如回调重复请求处理、文件校验异常等。
2025-06-16 16:34:05
2260
9
原创 StandardThreadExecutor源码解读与使用(tomcat的线程池实现类)
StandardThreadExecutor 是 Apache Tomcat 中的一个线程池实现类,是 Tomcat 生命周期中的池化线程资源的封装。StandardThreadExecutor是为了更好地适应Tomcat容器中HTTP请求的处理而设计的。通过优先创建非核心线程来执行任务,避免了任务在等待队列中长时间积压,从而提升了服务器的响应速度。
2024-11-02 17:37:20
1078
3
原创 ReentrantLock(可重入锁)源码解读与使用
ReentrantLock是一种独占式的可重入锁,位于JUC包下,是Lock接口的默认实现类。有三个特性:支持可重入,支持公平与非公平特性,提供堵塞锁和非阻塞锁两种获取方法(lock和trylock)其中内部锁的竞争是基于AQS实现的,当某一线程获取锁后,将state值+1,并记录下当前持有锁的线程,再有线程来获取锁时,判断这个线程与持有锁的线程是否是同一个线程,如果是,将state值再+1,这样就实现了锁的可重入。当线程释放锁时,将state值-1,当state值减为0时,表示当前线程彻底释放了锁,唤
2024-04-25 20:21:31
8891
52
原创 CyclicBarrier(循环屏障)源码解读与使用
CyclicBarrier可以让一组线程互相等待,直到最后一个线程也准备就绪后,它们才能继续运行。就好比几个朋友约好一起吃晚餐,必须等到所有人到齐后才能入座就餐。CyclicBarrier实现了这种"集体出发"的功能,每次所有线程就位后,它们可以执行一个预先指定的任务,然后继续向前推进。有趣的是,CyclicBarrier与CountDownLatch不同,它可以重复使用。这也从侧面体现了两者在设计理念上的差异。借鉴了AQS的精髓,CyclicBarrier内部通过ReentrantLock和Con
2024-04-23 22:00:48
8043
73
原创 CountDownLatch(倒计时器)源码解读与使用
在很多的面经中都看到过提问 CountDownLatch 的问题,正好我们最近也在梳理学习AQS(抽象队列同步器)、CAS操作等知识,而 CountDownLatch 又是JUC包下一个比较常见的同步工具类,我们今天就继续来学一下这个同步工具类!CountDownLatch 是一个多线程同步辅助类,它允许一个或多个线程等待一系列操作在其他线程中完成。这个机制类似于一场赛跑,选手们在起跑线准备,等待发令枪响后才能开始比赛。
2024-04-22 21:24:43
8217
58
原创 CAS机制(Compare And Swap)源码解读与三大问题
CAS(Compare And Swap)作为一种无锁编程技术,被广泛应用于Java的并发编程中。它通过利用CPU指令在操作数据时先比较内存值是否发生变化,如未变化则更新,否则重试循环直到成功为止,从而实现非阻塞的原子操作。CAS操作的优势在于避免了传统悲观锁导致的线程阻塞和切换开销,适用于读操作远多于写操作的应用场景。但它也存在着经典的ABA问题、无法保证多个共享变量的原子性以及在高并发写操作时自旋会导致CPU时钟周期浪费等缺陷。在JDK1.5之后,通过版本号机制来解决了ABA问题。对于长时间自旋
2024-04-21 20:26:05
9108
62
原创 利用AQS(AbstractQueuedSynchronizer)实现一个线程同步器
我们在上篇文章带领大家阅读了AQS的源码,理解了AQS的底层实现,AQS 为构建锁和同步器提供了一些通用功能的实现,今天我们就实践一下,基于AQS实现一个同步器,看看AQS如何帮助我们快速构建同步器。同步器是一种用于线程同步的工具,控制多个线程对共享资源的并发访问。如Semaphore信号量,CountDownLatch (倒计时器)、CyclicBarrier(循环屏障)都属于同步器。
2024-04-20 21:28:41
13759
67
原创 AQS(AbstractQueuedSynchronizer,队列同步器)源码解读
AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。这个类在 java.util.concurrent.locks 包下面。AQS为Java的并发包提供了强大的同步支持。通过内置的FIFO队列来完成资源获取线程的排队工作,并且利用一个被volatile关键字修饰的int类型的变量表示同步状态。AQS 为构建锁和同步器提供了一些通用功能的实现,许多同步类实现都依赖于它,如常用的ReentrantLock、Semaphore等。
2024-04-19 21:15:28
13853
48
原创 Semaphore(信号量)源码解读与使用
Semaphore 是一个在多线程环境中用于控制对共享资源的访问的同步器(synchronizer),它是 Java 5 中引入的 java.util.concurrent(JUC)包的一部分。Semaphore 维护了一个许可集,线程在执行前必须从 Semaphore 获取一个许可。如果没有许可可用,线程将阻塞等待,直到其他线程释放许可。可以用来限制数据库连接数、限制服务器可处理请求数等。
2024-04-17 20:17:25
13655
30
原创 Java多线程实战-从零手搓一个简易线程池(四)线程池生命周期状态流转实现
在前面几篇文章中,我们已经实现了线程池的核心功能:任务队列、执行逻辑以及线程管理。本次我们将继续扩展补充线程池的功能,为线程池添加生命周期管理。通过引入生命周期,我们能够更加灵活地管理和控制线程的创建、运行和销毁过程。可以更好地处理资源分配、任务调度和系统稳定性等方面的问题。
2024-04-09 21:19:28
14851
80
原创 Java多线程实战-从零手搓一个简易线程池(三)线程工厂,核心线程与非核心线程逻辑实现
在上一节我们实现了线程池内部的基本运转逻辑,池化了线程资源进行任务处理,细心的同学可以发现,我们上章没有划分核心线程与非核心线程的概念,在JDK官方的提供的线程池中,线程池中的线程从概念上分为核心线程和非核心线程,核心线程是线程池中长久存在的线程,默认不会被回收,而非核心线程在空闲时间超过设置的最大空闲时间时会被回收,当然,我们也可以通过设置一个属性来运行核心线程被回收。
2024-04-02 15:24:52
14821
47
原创 Java多线程实战-从零手搓一个简易线程池(二)线程池实现与拒绝策略接口定义
在前面的文章中,我们讲解了任务堵塞队列的实现,这篇文章会基于任务堵塞队列实现一个简易的线程池,在后续的文章中,还会继续对本章编写的线程池进行功能扩展和优化。
2024-03-27 14:44:09
244891
6
原创 Java多线程实战-从零手搓一个简易线程池(一)定义任务等待队列
开个新坑-手搓简易线程池。本系列文章将从零开始,一步步手工编码实现一个简单但功能完备的线程池。我们将逐步介绍线程池的各个核心组件,并分析它们的作用和实现思路。通过这个过程,我们可以更好地掌握多线程编程的技巧,并培养编码能力和系统性思维。
2024-03-25 20:22:10
250294
82
原创 Java垃圾回收GC调优实践指南
本文深入探讨Java垃圾回收GC调优的核心原理与实战技巧,提供源码分析和性能优化建议,帮助后端开发者提升GC性能。
2025-10-24 16:01:11
756
原创 GC调优在高并发Java应用中的实战指南
本文分享了在高并发Java应用场景下,结合生产环境实战经验,深入剖析GC调优原理和常见参数,提供实用示例和性能优化建议。
2025-10-24 13:01:05
954
原创 深入解析Java GC调优:从原理到实战
本文从 GC 的基本原理出发,结合源码分析和生产环境日志示例,深入剖析 G1 收集器的调优策略与实践方法,帮助开发者提升应用性能与稳定性。
2025-10-24 08:01:05
466
原创 高并发环境下MySQL索引优化与性能实战指南
本文从高并发环境下MySQL索引的工作原理出发,结合真实场景,深入解析索引设计、索引失效、联合索引优化、覆盖索引、索引命中率等关键点,并通过实战示例展示性能优化方案,帮助开发者在高并发场景下提高数据库性能。
2025-10-23 16:01:02
406
原创 Java GC调优实战指南:轻松提升JVM性能
本文分享了Java应用在生产环境中通过GC调优提升性能的实战经验,涵盖GC选型、参数配置、常见问题排查与优化建议,帮助后端开发者有效减少GC停顿时间并提升系统稳定性。
2025-10-23 13:02:31
594
原创 MySQL性能优化实践指南:从原理到实战
本文从MySQL内核原理出发,结合生产环境常见痛点,深入剖析InnoDB存储引擎核心机制,并通过实战示例解析慢查询定位与优化策略,帮助后端开发者系统性掌握MySQL性能调优方法。
2025-10-23 08:00:44
273
原创 Redis集群环境下的缓存穿透、击穿与雪崩防护实践指南
本文就Redis集群环境下缓存穿透、缓存击穿与缓存雪崩的防护方案进行深入分享,结合真实业务场景,提供实践指南与最佳实践。
2025-10-22 13:01:24
537
原创 深入剖析Java垃圾回收性能优化实战指南
本文深入剖析了Java垃圾回收器的原理与性能调优实践,从核心机制到源码解读,再到典型生产环境示例,旨在帮助开发者优化GC性能,提升系统稳定性和吞吐量。
2025-10-22 08:18:38
674
原创 深入解析Spring Boot热部署与性能优化实践
本文从Spring Boot热部署原理入手,结合生产环境中的实战经验,深入分析热部署的底层实现机制,并给出性能优化的实践建议,帮助开发者在提升开发效率的同时保障系统性能。
2025-10-21 16:00:59
493
原创 Kafka消息可靠性方案对比与实践
本文从多种消息队列可靠性方案出发,对Kafka在消息持久化、复制机制、幂等性、事务等方面进行对比分析,并结合实践案例给出最佳方案建议。
2025-10-21 13:00:48
370
原创 深度解析JVM GC调优实践指南
本文系统深入地讲解了JVM垃圾回收(GC)的核心原理与应用场景,结合生产环境实战案例,提供全面的GC调优方案与优化建议,帮助开发者在高并发场景下有效提升应用性能和稳定性。
2025-10-21 08:01:10
498
原创 Redis集群缓存穿透、击穿与雪崩优化实践
本文深入分享了Redis集群中缓存穿透、击穿与雪崩的实战优化方案,通过架构设计、代码示例与最佳实践,为生产环境提供可落地的解决方案。
2025-10-20 16:00:49
741
原创 微服务熔断降级方案对比:Hystrix、Resilience4j与Sentinel实践
本文对比分析了Hystrix、Resilience4j与Sentinel三种主流熔断降级方案,从问题背景、多方案对比、优缺点分析、选型建议及实际效果验证五个方面进行深入讲解,配以Spring Boot实战示例,帮助开发者在微服务架构中高效落地熔断降级策略。
2025-10-20 08:03:42
1008
原创 高并发系统中的限流与异步优化实战指南
本文结合企业级高并发系统建设经验,深入探讨限流与异步处理在性能优化中的应用,提供实战方案、代码示例及最佳实践,帮助开发者在生产环境中稳定提升系统吞吐量与可用性。
2025-10-19 17:43:15
276
原创 生产环境实战:Spring Cloud Sleuth与Zipkin分布式链路追踪实践
本篇文章结合生产环境微服务场景,分享了Spring Cloud Sleuth与Zipkin的分布式链路追踪实战经验,包括环境搭建、配置优化、常见问题排查及最佳实践,帮助开发者快速定位性能瓶颈,提高系统可观测性。
2025-09-23 08:02:36
1071
原创 Java Stream API性能优化实践指南
本文深入解析Java Stream API的核心原理与性能优化方案,通过详细源码剖析、实战示例和性能对比,帮助开发者在生产环境中更高效地使用Stream API。
2025-09-22 16:01:58
707
原创 Spark Structured Streaming端到端延迟优化实践指南
本文结合真实生产环境场景,深入解析Spark Structured Streaming端到端延迟优化思路与实践策略,提供可运行的代码示例、集群配置与常见坑点解决方案,帮助后端工程师有效降低实时流式计算延迟。
2025-09-22 13:02:05
404
原创 Kubernetes Operator原理与开发实践指南
本文深入解读Kubernetes Operator的核心原理与开发实践,结合Go语言代码示例,帮助后端开发者快速掌握Operator SDK框架,构建和扩展自定义控制器并应用于生产环境。
2025-09-22 08:01:17
314
原创 ELK日志分析性能瓶颈问题排查与解决实践指南
本文围绕ELK日志分析性能瓶颈展开,从问题现象、定位、根因分析到优化改进和预防监控,提供实用方案和代码示例。
2025-09-21 16:01:12
1107
原创 多活多区域微服务架构与流量调度实战分享
本文深入分享多活多区域微服务架构的设计与流量调度实战经验,结合真实生产环境场景,介绍业务场景、技术选型、实现方案、踩坑与解决方案,并提供可运行示例与配置,帮助开发者在跨区域部署中实现高可用与流量智能调度。
2025-09-21 13:02:42
876
原创 Apache Spark Shuffle 文件丢失问题排查与解决方案实践指南
本文聚焦Apache Spark Shuffle阶段出现文件丢失的常见故障,通过案例分享问题定位、根因分析与解决方案,并提供性能优化和预防措施,为Spark作业在生产环境中的稳定运行保驾护航。
2025-09-21 08:01:41
703
原创 Elastic APM 性能监控原理深度解析与优化实践指南
本文深入剖析了 Elastic APM 的核心架构与原理,并结合实际生产环境场景,提供了从 Spring Boot 集成到性能调优的完整实战示例,为后端开发者提供可运行的示例与优化建议。
2025-09-20 16:02:49
682
原创 RabbitMQ死信队列与幂等性处理的性能优化实践指南
本文从死信队列与幂等性处理出发,结合实际项目场景,深入分析RabbitMQ核心原理,提供完整的代码示例与性能优化实践经验,帮助后端开发者应对高并发消息处理场景。
2025-09-20 13:03:28
650
原创 OAuth2会话模式与JWT令牌模式对比分析与安全性能优化实践指南
本文深入对比分析了 OAuth2 会话模式与 JWT 令牌模式在安全性、性能与可扩展性方面的差异,结合 Spring Security 实现示例与基准测试数据,给出选型建议及优化实践,适合后端开发者参考。
2025-09-20 08:01:37
835
原创 Java Flight Recorder与Mission Control性能分析实践指南
本文深入解析Java Flight Recorder与Mission Control在生产环境中的性能分析应用,介绍原理、实践操作步骤和优化建议,帮助后端开发者在复杂系统中高效定位性能瓶颈。
2025-09-19 16:02:05
476
原创 Kubernetes StatefulSet在生产环境中的稳定部署实战经验分享
分享如何在生产环境中使用Kubernetes StatefulSet进行稳定部署,涵盖业务场景、技术选型、配置方案、常见坑点与最佳实践。
2025-09-19 13:01:51
754
繁体简体字幕转换工具1
2024-02-11
Snipaste - 高效桌面截图与贴图神器(类似QQ截图)
2024-02-07
Gif123 屏幕Gif录制工具 -windows
2024-02-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅