自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Java虚拟线程原理与性能优化实战

深入解析Java虚拟线程技术原理,结合示例与性能测试,介绍虚拟线程的优化策略与实战经验。

2025-10-20 13:00:39 969

原创 微服务熔断降级方案对比: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

1、普通转换 可以直接将字幕文件拖拽到软件中,自动读取字幕文件内容,点击“转为简体”或“转为繁体”完成转换,点击“保存”按钮可以输出保存。 2、批量转换 可以直接将含有字幕的文件夹拖拽到软件中,选择转换的格式,填写输出的文件名样式,点击“开始转换”即可完成转换。 批量转换使用多线程技术,转换过程UI不卡顿,其他功能可正常同步使用,方便并快捷。 需要注意当目标“文件名”与源文件或已存在文件同名时会覆盖掉已有文件,请注意备份源字幕文件。 批量转换将自动获取该目录下的全部字幕文件(包括ASS、SSA、SRT、LRC、TXT),其他格式文件不会读取。 3、文件名样式说明 批量转换使用的是文件名样式替换掉替换符,替换符使用`{}`包裹,已有替换符如下: `{name}` 源文件名称(不包含路径与扩展名) `{exten}` 源文件扩展名,必须存在的替换符。 `{num}` 文件序号,将列表中的序号使用在文件名中 文件名样式中除替换符以外的字符将原样输出,需要注意所有字符必须

2024-02-11

Snipaste - 高效桌面截图与贴图神器(类似QQ截图)

Snipaste 是一款备受赞誉的免费桌面截图工具,以其简洁的设计、强大的功能和高效的用户体验赢得了全球用户的青睐。它不仅提供基础的屏幕截图服务,更具备独特的贴图功能,让您在捕捉屏幕画面后能直接将截图作为可调整大小的贴图返回到屏幕上,极大地提高了工作效率。 核心特性如下: 一键截图:只需轻轻一按F1键,即可快速启动截图模式,选择任意形状区域进行截图。 智能贴图:截取的图像可以立即转换为半透明悬浮窗口,方便您在其他工作场景中参考对比,且支持缩放、拖拽和旋转等操作。 自定义快捷键:用户可以根据个人习惯在设置中自由定制截图快捷键和其他功能键。 高级标注:截图时可添加箭头、文字、高亮等注释内容,帮助您清晰传达信息。 高质量输出:无论是保存静态图片还是导出GIF动画,Snipaste都能确保图像质量不失真,满足不同场合的需求。 轻量级运行:Snipaste占用系统资源少,始终保持在后台静默运行,随时响应您的截图需求。 无需安装(可选):该软件支持免安装运行,解压即用,非常适合移动办公或临时使用环境。

2024-02-07

Gif123 屏幕Gif录制工具 -windows

让您眼前一亮的神奇工具——Gif123,这是一款功能强大且操作简便的屏幕内容录制软件,它将繁琐的录屏过程化繁为简,一键即可轻松将您的屏幕活动转化为生动活泼的GIF动态图。无论您是想分享精彩的游戏瞬间、教学演示的操作步骤,还是记录程序运行的过程,Gif123都能以超高的效率和出色的画质满足您的需求。 这款软件的独特之处在于其便捷高效的录制方式,无需复杂的设置与编辑,只需轻点鼠标,即可开始录制并实时转换为流畅清晰的GIF文件。Gif123以其卓越的性能和直观的用户界面,为您打造无缝的屏幕内容创作体验。 在瞬息万变的数字世界里,Gif123就是您的得力助手,助您随时随地捕捉灵感闪现,将每一个珍贵的屏幕画面永久留存,并以最直观的形式传递给全世界。现在就上传并尝试这款强大的Gif123,让您的屏幕故事跃然“GIF”上,生动展现!

2024-02-07

空空如也

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

TA关注的人

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