- 一、引言随着多核处理器的普及和分布式系统的广泛应用,并发编程成为现代软件开发的必备能力。如何安全、高效地管理多个线程或进程的协作,已经成为性能优化和系统稳定性的关键。本文将系统梳理并发编程中的无锁数据结构设计、CAS操作的原理与实践、线程池调度机制、以及死锁检测的常见方法,为开发者提供一套理论与实践并重的参考路线。 二、并发编程基础 2.1 并发与并行并发(Concurrency):多个任... 一、引言随着多核处理器的普及和分布式系统的广泛应用,并发编程成为现代软件开发的必备能力。如何安全、高效地管理多个线程或进程的协作,已经成为性能优化和系统稳定性的关键。本文将系统梳理并发编程中的无锁数据结构设计、CAS操作的原理与实践、线程池调度机制、以及死锁检测的常见方法,为开发者提供一套理论与实践并重的参考路线。 二、并发编程基础 2.1 并发与并行并发(Concurrency):多个任...
- 2026-01-24:数组元素分组。用go语言,给定一个整数数组 nums 和一个整数 k,判断能否把数组里的所有元素划分成若干个大小为 k 的子集合,要求每个子集合内部没有重复值,并且数组中的每个元素只能出现在一个子集合中。若存在满足这些条件的划分方案则返回 true,否则返回 false。1 <= nums.length <= 100000。1 <= nums[i] <= 100000。... 2026-01-24:数组元素分组。用go语言,给定一个整数数组 nums 和一个整数 k,判断能否把数组里的所有元素划分成若干个大小为 k 的子集合,要求每个子集合内部没有重复值,并且数组中的每个元素只能出现在一个子集合中。若存在满足这些条件的划分方案则返回 true,否则返回 false。1 <= nums.length <= 100000。1 <= nums[i] <= 100000。...
- 使用Java解决 - 输入三个整数x,y,z,请把这三个数由小到大输出在日常编程中,我们经常需要对一些数据进行排序。本文将介绍如何使用Java语言来实现一个简单的功能:输入三个整数x, y, z,并将这三个数由小到大输出。我们将通过几种不同的方法来实现这一功能,包括使用条件语句和数组排序。方法一:使用条件语句代码实现import java.util.Scanner;public class ... 使用Java解决 - 输入三个整数x,y,z,请把这三个数由小到大输出在日常编程中,我们经常需要对一些数据进行排序。本文将介绍如何使用Java语言来实现一个简单的功能:输入三个整数x, y, z,并将这三个数由小到大输出。我们将通过几种不同的方法来实现这一功能,包括使用条件语句和数组排序。方法一:使用条件语句代码实现import java.util.Scanner;public class ...
- 2026-01-22:删除可整除和后的最小数组和。用go语言,给定一个整数数组 nums 和一个整数 k。你可以反复挑选数组中相邻的一段元素——如果这段的元素和是 k 的倍数,就把它从数组中删掉,剩下的元素会自动合并成新的数组。经过任意次数这样的删除后,数组中剩下的所有数的和最少能是多少?请输出这个最小可能的总和。1 <= nums.length <= 100000。1 <= nums[i]... 2026-01-22:删除可整除和后的最小数组和。用go语言,给定一个整数数组 nums 和一个整数 k。你可以反复挑选数组中相邻的一段元素——如果这段的元素和是 k 的倍数,就把它从数组中删掉,剩下的元素会自动合并成新的数组。经过任意次数这样的删除后,数组中剩下的所有数的和最少能是多少?请输出这个最小可能的总和。1 <= nums.length <= 100000。1 <= nums[i]...
- 2026-01-21:区间乘法查询后的异或Ⅰ。用go语言,给定一个长度为 n 的整数数组 nums 和 q 条查询,每条查询用四个整数表示:[li, ri, ki, vi]。对每一条查询,从位置 li 开始,每次向右移动 ki 个索引并处理当前位置,直到索引超过 ri 为止;处理方式是将当前 nums[idx] 乘以 vi,然后对 1000000007 取模并写回数组。把所有查询按顺序执行完... 2026-01-21:区间乘法查询后的异或Ⅰ。用go语言,给定一个长度为 n 的整数数组 nums 和 q 条查询,每条查询用四个整数表示:[li, ri, ki, vi]。对每一条查询,从位置 li 开始,每次向右移动 ki 个索引并处理当前位置,直到索引超过 ri 为止;处理方式是将当前 nums[idx] 乘以 vi,然后对 1000000007 取模并写回数组。把所有查询按顺序执行完...
- 本文聚焦Python数据建模领域中dataclasses与Pydantic的职责边界划分,结合真实开发实践中的踩坑经历与技术思考,打破“非此即彼”的选型误区。文章指出两者并非替代关系,而是基于场景的互补工具:dataclasses作为轻量数据载体,适用于内部模块高效数据流转;Pydantic主打数据治理能力,擅长外部交互场景的校验与转换。 本文聚焦Python数据建模领域中dataclasses与Pydantic的职责边界划分,结合真实开发实践中的踩坑经历与技术思考,打破“非此即彼”的选型误区。文章指出两者并非替代关系,而是基于场景的互补工具:dataclasses作为轻量数据载体,适用于内部模块高效数据流转;Pydantic主打数据治理能力,擅长外部交互场景的校验与转换。
- 2026-01-20:按策略买卖股票的最佳时机。用go语言,给出两个等长整数数组 prices 和 strategy:prices[i] 表示第 i 天的股票价格;strategy[i] 表示第 i 天的操作:-1 为买入一股,0 为不操作,1 为卖出一股。还有一个偶数 k。你可以选择是否进行一次修改操作(也可以不改)。一次修改的规则是:选定 strategy 中恰好长度为 k 的一段连续位... 2026-01-20:按策略买卖股票的最佳时机。用go语言,给出两个等长整数数组 prices 和 strategy:prices[i] 表示第 i 天的股票价格;strategy[i] 表示第 i 天的操作:-1 为买入一股,0 为不操作,1 为卖出一股。还有一个偶数 k。你可以选择是否进行一次修改操作(也可以不改)。一次修改的规则是:选定 strategy 中恰好长度为 k 的一段连续位...
- 2026-01-17:完美对的数目。用go语言,给定一个整数数组 nums。我们把满足下面条件的一对索引 (i, j)(且 i < j)称为“完美对”:记 a = nums[i],b = nums[j];在两者差的绝对值 |a - b| 和和的绝对值 |a + b| 中,较小的那个不大于 a、b 的绝对值中的较小值;在两者差的绝对值 |a - b| 和和的绝对值 |a + b| 中,较大的那... 2026-01-17:完美对的数目。用go语言,给定一个整数数组 nums。我们把满足下面条件的一对索引 (i, j)(且 i < j)称为“完美对”:记 a = nums[i],b = nums[j];在两者差的绝对值 |a - b| 和和的绝对值 |a + b| 中,较小的那个不大于 a、b 的绝对值中的较小值;在两者差的绝对值 |a - b| 和和的绝对值 |a + b| 中,较大的那...
- 开篇语哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,... 开篇语哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,...
- 开篇语哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,... 开篇语哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,...
- 2026-01-14:排序排列。用go语言,有两个等长的整数数组 value 和 limit,表示 n 个元素的得分和操作限制。初始时所有元素都处于未激活状态,你可以按任意顺序逐个激活它们,但激活第 i 个元素时,当前处于“活跃”状态的元素数量必须严格小于 limit[i]。每次激活第 i 个元素时,就把 value[i] 加入累计得分(即统计所有曾被激活过的元素的 value 之和)。此外... 2026-01-14:排序排列。用go语言,有两个等长的整数数组 value 和 limit,表示 n 个元素的得分和操作限制。初始时所有元素都处于未激活状态,你可以按任意顺序逐个激活它们,但激活第 i 个元素时,当前处于“活跃”状态的元素数量必须严格小于 limit[i]。每次激活第 i 个元素时,就把 value[i] 加入累计得分(即统计所有曾被激活过的元素的 value 之和)。此外...
- 2026-01-13:排序排列。用go语言,给定一个长度为 n 的整数数组 nums,数组中的元素构成了 0 到 n−1 的一个排列(即每个数恰好出现一次)。允许你对任意一对下标 i、j 交换元素,但前提是这两个位置上的数进行按位与运算后等于某个非负整数 k(即 nums[i] & nums[j] == k)。你可以进行任意次这样的满足条件的交换。求出能够使数组变为非递减(从小到大不严格)顺... 2026-01-13:排序排列。用go语言,给定一个长度为 n 的整数数组 nums,数组中的元素构成了 0 到 n−1 的一个排列(即每个数恰好出现一次)。允许你对任意一对下标 i、j 交换元素,但前提是这两个位置上的数进行按位与运算后等于某个非负整数 k(即 nums[i] & nums[j] == k)。你可以进行任意次这样的满足条件的交换。求出能够使数组变为非递减(从小到大不严格)顺...
- “字段多一个,凌晨三点炸一次”:聊聊流数据里的 Schema 演化,到底该怎么扛 “字段多一个,凌晨三点炸一次”:聊聊流数据里的 Schema 演化,到底该怎么扛
- 2026-01-11:三段式数组Ⅱ。用go语言,给定长度为 n 的整数序列 nums,要求选出一个包含至少四个元素的连续区间 [a, b](0 ≤ a < b < n),并在区间内选两个切分点 a < i < j < b,使得区间被分成三段:第一段从 a 到 i 元素严格上升,第二段从 i 到 j 元素严格下降,第三段从 j 到 b 元素又严格上升。在所有满足此模式的连续区间中,找出其元素和... 2026-01-11:三段式数组Ⅱ。用go语言,给定长度为 n 的整数序列 nums,要求选出一个包含至少四个元素的连续区间 [a, b](0 ≤ a < b < n),并在区间内选两个切分点 a < i < j < b,使得区间被分成三段:第一段从 a 到 i 元素严格上升,第二段从 i 到 j 元素严格下降,第三段从 j 到 b 元素又严格上升。在所有满足此模式的连续区间中,找出其元素和...
- Java数据结构详解 Java数据结构详解
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
即将直播
热门标签