相关分享
Java|如何用一个统一结构接收成员名称不固定的数据
文章通过企业微信接口示例,介绍用 Jackson 的 @JsonAlias 注解处理 Java 中不固定字段名的 JSON 数据,提升解析通用性。适合需统一处理多样 JSON 数据的 Java 开发者。
图解Blink-Tree:B+Tree的一种并发优化结构和算法
本文介绍了 Blink-Tree,这是一种 B+Tree 的并发优化结构。通过引入 high key 和 link 指针,解决了并发访问时的性能问题,特别适用于高并发环境的存储引擎优化。如果你对数据库存储引擎感兴趣,这篇文章不容错过!
十年编程之路
时光荏苒,回首望去,自系统接触编程已近十年,这篇月刊就写写这十年的编程之路吧。
深得周围小朋友的羡慕,家里小时候是开网吧的,因此我对电脑游戏向来比较熟悉,但未曾设想过以后会走向编程的道路。2007 年的时候,初中组织了一波 Pascal 的奥赛班我也半途而废了, 2013 年高考之后报了教育技术学专业,这是一个在教育学院里和计算机稍稍沾些边的理科专业。如果按照正常的轨迹发展,想着大概毕业以后凭着专业的教师资格回老家的中小学当一名老师吧。
但一切在 2014 年的年初发生了改变。
Rust并发编程番外篇: Mutex内部实现
Mutex是最常用的一种同步原语,它提供了互斥锁的功能,多线程可以互斥访问共享数据以及通过锁保护临界区。Rust标准库提供了Mutex的实现,接下来我们看看它是怎么实现的。
Windows Defender 数据库结构分析(下)
本节中,我们将进一步了解数据库中的一些其他签名类型,包括 SIGNATURE_TYPE_DELTA_BLOB、SIGNATURE_TYPE_FRIENDLYFILE_SHA256 和 SIGNATURE_TYPE_LUASTANDALONE。
Windows Defender 数据库结构分析(上)
Windows Defender (WD) 是一款集成于 Windows 10 和 11 中的恶意软件防护产品。随着时间的推移,WD在与Windows在发展过程中展现出了其在检测和阻止个人计算机不同类型的恶意软件的有效性。在本文中,我们将探讨WD使用的数据库结构(CSDL),以提取其中的数据以更深入了解该CSDL的格式以及其中的一些识别标志类型。
Rust并发编程 - 容器类并发原语
Rust 在并发编程方面有一些强大的原语,让你能够写出安全且高效的并发代码。最显著的原语之一是 ownership system,它允许你在没有锁的情况下管理内存访问。此外,Rust 还提供了一些并发编程的工具和标准库,比如线程、线程池、消息通讯(mpsc等)、原子操作等,不过这一章我们不介绍这些工具和库,它们会专门的分章节去讲。这一章我们专门讲一些保证在线程间共享的一些方式和库。
并发原语内容较多,分成两章,这一章介绍Cow、beef::Cow、Box、 Cell、RefCell、OnceCell、LazyCell、LazyLock 和 Rc。 我把它们称之为容器类并发原语,主要基于它们的行为,它们主要是对普通数据进行包装,以便提供其他更丰富的功能。
为什么说并发编程很难?
最近看到一本关于算法的新书,买过来学习。这本书中有一道并发问题,也是我先前多次分过的一道题:水分子的产生。
这是一道并发题,在《The Little Book of Semaphores》v2.2.1 2006年版本中就有这道题("Building H2O"),而且据作者说这道题已经在伯克利大学的操作系统课程中十余年了,看起来是Andrews的并发编程的一道练习题。
这道题也被收编到leetcode的并发题中:H2O 生成。题目和这本书中的内容一样,是一道标记为中等难度的题目。
所以说这道题至少存在30年了,理论上大家对这道题目研究的就是透透的。
使用底层的syscall.Socket实现网络编程
socket 函数是一个系统调用,用于在操作系统内核中创建一个新的网络套接字。套接字是一种在网络上进行通信的抽象对象,通过套接字,应用程序可以使用不同的网络协议进行通信,如 TCP、UDP 等,甚至我们可以实现自定义的协议。
结对编程的十个场景
本文以真实项目实践总结为基础,选取了结对编程中的典型场景,叙述了在敏捷交付项目中,开发者在实践结对编程时经常遇到的挑战。
