- 用 crontab 把备份、清理、巡检等重复工作交给服务器:讲清 5 个时间字段的读法、每天凌晨备份的完整例子,以及路径、百分号转义等新手最容易踩的坑。 用 crontab 把备份、清理、巡检等重复工作交给服务器:讲清 5 个时间字段的读法、每天凌晨备份的完整例子,以及路径、百分号转义等新手最容易踩的坑。
- CompletableFuture 异步编排一个接口要聚合用户信息、订单列表、积分余额三个下游服务,串行调用要 300 ms,并行只要 100 ms 出头。Future 能并行,但只能阻塞 get(),无法表达依赖关系和回调。CompletableFuture 是 JDK 8 给出的答案:它既是一个 Future,也是一个可组合的 CompletionStage。本文讲清常用 API 的语... CompletableFuture 异步编排一个接口要聚合用户信息、订单列表、积分余额三个下游服务,串行调用要 300 ms,并行只要 100 ms 出头。Future 能并行,但只能阻塞 get(),无法表达依赖关系和回调。CompletableFuture 是 JDK 8 给出的答案:它既是一个 Future,也是一个可组合的 CompletionStage。本文讲清常用 API 的语...
- 线程池核心参数与调优Executors 提供的几个工厂方法看起来很方便,但 newFixedThreadPool 用无界队列、newCachedThreadPool 最大线程数是 Integer.MAX_VALUE,在生产环境都可能引发 OOM。正确做法是直接 new ThreadPoolExecutor(...),显式指定每个参数。本文把七个参数的协作顺序讲清楚,并给出容量估算和监控的实... 线程池核心参数与调优Executors 提供的几个工厂方法看起来很方便,但 newFixedThreadPool 用无界队列、newCachedThreadPool 最大线程数是 Integer.MAX_VALUE,在生产环境都可能引发 OOM。正确做法是直接 new ThreadPoolExecutor(...),显式指定每个参数。本文把七个参数的协作顺序讲清楚,并给出容量估算和监控的实...
- 一台计算机上同时运行着大量的程序:浏览器、编辑器、音乐播放器、后台的同步服务、系统守护进程,在服务器上还可能有成百上千个处理请求的线程。然而,处理器核心的数量是有限的,一个核心在任一时刻只能执行一个线程的指令。那么,这些程序是如何"同时"运行的?操作系统如何决定在每个时刻让哪个线程使用 CPU?为什么在后台编译大型项目时,前台的界面依然能够流畅响应?为什么有时一个程序会突然变得很慢,即使 C... 一台计算机上同时运行着大量的程序:浏览器、编辑器、音乐播放器、后台的同步服务、系统守护进程,在服务器上还可能有成百上千个处理请求的线程。然而,处理器核心的数量是有限的,一个核心在任一时刻只能执行一个线程的指令。那么,这些程序是如何"同时"运行的?操作系统如何决定在每个时刻让哪个线程使用 CPU?为什么在后台编译大型项目时,前台的界面依然能够流畅响应?为什么有时一个程序会突然变得很慢,即使 C...
- 在 HarmonyOS NEXT 的生态开发中,随着应用场景日益复杂,单线程(UI 主线程)早已无法满足高性能、高流畅度的交互需求。为了避免页面卡顿(Jank)、掉帧甚至 ANR,合理利用多线程异步并发至关重要。 在 HarmonyOS NEXT 的生态开发中,随着应用场景日益复杂,单线程(UI 主线程)早已无法满足高性能、高流畅度的交互需求。为了避免页面卡顿(Jank)、掉帧甚至 ANR,合理利用多线程异步并发至关重要。
- schedule 是 Python 里最轻量的定时任务库。本文从安装、最小可运行示例讲到一个最容易被忽略的坑——任务抛异常导致整个调度进程退出,再到跨平台部署与切换 APScheduler 的时机,一篇带你把"每天自动执行"的脚本真正跑稳。 schedule 是 Python 里最轻量的定时任务库。本文从安装、最小可运行示例讲到一个最容易被忽略的坑——任务抛异常导致整个调度进程退出,再到跨平台部署与切换 APScheduler 的时机,一篇带你把"每天自动执行"的脚本真正跑稳。
- 线程状态是并发编程的基础概念。涵盖 NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED 六种状态的定义与转换条件,结合 jstack 输出分析各状态含义,演示 interrupt 方法设置中断标志、isInterrupted 查询、interrupted 查询并清除的机制,以及响应中断、恢复中断标志的正确姿势。 线程状态是并发编程的基础概念。涵盖 NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED 六种状态的定义与转换条件,结合 jstack 输出分析各状态含义,演示 interrupt 方法设置中断标志、isInterrupted 查询、interrupted 查询并清除的机制,以及响应中断、恢复中断标志的正确姿势。
- 把网文连载的每日发布做成一条自动化流水线:VPS 跑青龙面板做定时调度,章节文本放 git 仓库,脚本分同步、构建、生成草稿、发布四个阶段,靠台账做章节顺序校验与幂等,外加一个 Web 控制面板处理手动干预。记录真实架构与踩过的坑。 把网文连载的每日发布做成一条自动化流水线:VPS 跑青龙面板做定时调度,章节文本放 git 仓库,脚本分同步、构建、生成草稿、发布四个阶段,靠台账做章节顺序校验与幂等,外加一个 Web 控制面板处理手动干预。记录真实架构与踩过的坑。
- 几十兆的 CSV 直接在主线程解析,页面会卡到没法交互。这篇讲清楚怎么把解析搬进 Web Worker,用分块和流式读取把内存压住,并把进度实时回传给界面。 几十兆的 CSV 直接在主线程解析,页面会卡到没法交互。这篇讲清楚怎么把解析搬进 Web Worker,用分块和流式读取把内存压住,并把进度实时回传给界面。
- 前阵子给自己的资讯聚合脚本加了个新功能:把抓回来的文章标题和摘要转成向量,做个简单的余弦相似度计算,用来过滤掉不同来源的重复新闻。这套脚本挂在一台华为云2核4G的机器上跑,每天定时抓几十次。 刚上线前两天看着挺正常,去控制台看监控,CPU不高,内存也才吃了40%左右。但到了第四天早晨,我发现定时推送断了,连上SSH一查,后台那个Python守护进程直接没了,翻dmesg看日志,清清楚楚写着O... 前阵子给自己的资讯聚合脚本加了个新功能:把抓回来的文章标题和摘要转成向量,做个简单的余弦相似度计算,用来过滤掉不同来源的重复新闻。这套脚本挂在一台华为云2核4G的机器上跑,每天定时抓几十次。 刚上线前两天看着挺正常,去控制台看监控,CPU不高,内存也才吃了40%左右。但到了第四天早晨,我发现定时推送断了,连上SSH一查,后台那个Python守护进程直接没了,翻dmesg看日志,清清楚楚写着O...
- synchronized 与锁升级synchronized 是 Java 最基础的同步原语。JDK 6 之前它是彻头彻尾的重量级锁,直接依赖操作系统互斥量,线程阻塞要陷入内核态,代价高昂。JDK 6 引入了偏向锁、轻量级锁和自适应自旋,让它在无竞争和低竞争场景下的开销大幅下降。本文从对象头结构讲起,把锁升级的每一步落到具体字段和源码上。 一、锁存在哪里:对象头 Mark Word每个 Ja... synchronized 与锁升级synchronized 是 Java 最基础的同步原语。JDK 6 之前它是彻头彻尾的重量级锁,直接依赖操作系统互斥量,线程阻塞要陷入内核态,代价高昂。JDK 6 引入了偏向锁、轻量级锁和自适应自旋,让它在无竞争和低竞争场景下的开销大幅下降。本文从对象头结构讲起,把锁升级的每一步落到具体字段和源码上。 一、锁存在哪里:对象头 Mark Word每个 Ja...
- JMM 与 volatile很多人在写并发代码时遇到"变量明明改了,另一个线程却读不到"或者"指令顺序跟代码写的对不上",这两类问题都源于 Java 内存模型(Java Memory Model,JMM)的抽象。volatile 是最轻量的同步手段,但它保证什么、不保证什么,需要从 JMM 的规则和 CPU 内存屏障两个层面理解。 一、JMM 抽象了什么东西JMM 定义了一套线程与主内存之... JMM 与 volatile很多人在写并发代码时遇到"变量明明改了,另一个线程却读不到"或者"指令顺序跟代码写的对不上",这两类问题都源于 Java 内存模型(Java Memory Model,JMM)的抽象。volatile 是最轻量的同步手段,但它保证什么、不保证什么,需要从 JMM 的规则和 CPU 内存屏障两个层面理解。 一、JMM 抽象了什么东西JMM 定义了一套线程与主内存之...
- 详解 Worker Threads 如何实现 CPU 密集型任务的并行处理,分析 SharedArrayBuffer 和 MessageChannel 的线程间通信方案。从理论基础到工程实践,系统梳理核心概念和关键实现,为读者构建完整的知识体系。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术选型的考量因素,为读者提供全面的技术视野... 详解 Worker Threads 如何实现 CPU 密集型任务的并行处理,分析 SharedArrayBuffer 和 MessageChannel 的线程间通信方案。从理论基础到工程实践,系统梳理核心概念和关键实现,为读者构建完整的知识体系。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术选型的考量因素,为读者提供全面的技术视野...
- 详解 Worker Threads 如何实现 CPU 密集型任务的并行处理,分析 SharedArrayBuffer 和 MessageChannel 的线程间通信方案。从理论基础到工程实践,系统梳理核心概念和关键实现,为读者构建完整的知识体系。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术选型的考量因素,为读者提供全面的技术视野... 详解 Worker Threads 如何实现 CPU 密集型任务的并行处理,分析 SharedArrayBuffer 和 MessageChannel 的线程间通信方案。从理论基础到工程实践,系统梳理核心概念和关键实现,为读者构建完整的知识体系。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术选型的考量因素,为读者提供全面的技术视野...
- 详解 Web Worker 如何卸载主线程的密集计算,分析 SharedArrayBuffer 和 Atomics 如何实现线程间通信,解决跨域隔离问题。通过源码级别的分析和性能基准测试,揭示底层实现原理,帮助读者掌握技术的本质。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术选型的考量因素,为读者提供全面的技术视野。 结合实际项目... 详解 Web Worker 如何卸载主线程的密集计算,分析 SharedArrayBuffer 和 Atomics 如何实现线程间通信,解决跨域隔离问题。通过源码级别的分析和性能基准测试,揭示底层实现原理,帮助读者掌握技术的本质。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术选型的考量因素,为读者提供全面的技术视野。 结合实际项目...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签