随笔分类 -  编程通识

摘要:🌟 Linux 内核中用于实现锁机制的主要数据结构 在 Linux 内核中,锁是一种 同步原语,用于防止多处理器或多线程环境下的竞态条件和数据不一致。Linux 内核提供了多种锁机制,这些锁基于不同的数据结构实现。主要包括以下几类数据结构: 1️⃣ spinlock_t(自旋锁) 数据结构定义: 阅读全文
posted @ 2025-06-13 17:31 gongchengship 阅读(79) 评论(0) 推荐(0)
摘要:Java NIO 核心概念 vs 医院系统映射 flowchart TB subgraph Java NIO Selector[Selector<br>分诊台] Channel[Channel<br>患者通道] Buffer[Buffer<br>病历本] SelectionKey[Selection 阅读全文
posted @ 2025-06-01 00:59 gongchengship 阅读(18) 评论(0) 推荐(0)
摘要:Java线程的中断机制底层原理,以及否涉及CPU指令周期检测 这里将深入研究 Java 线程中断机制的底层原理,特别关注以下问题: 当调用 Thread.interrupt() 方法时,JVM 是否会让目标线程在每个 CPU 指令周期隐式检查中断标志? 中断标志的设置是否必须通过线程自身调用 Thr 阅读全文
posted @ 2025-05-11 00:34 gongchengship 阅读(50) 评论(0) 推荐(0)
摘要:“异常是为了‘’中断”,即异常发生后: (如果什么也不做,亦即没有catch异常)那么异常会沿着方法调用栈往回传播,会让方法调用栈中的每个方法中与该异常相关的代码之后的代码均无法被执行到,直至方法调用栈的栈底。 (如果catch了异常),那么程序会执行 catch 块里面的代码,执行完之后会执行 f 阅读全文
posted @ 2024-10-13 22:34 gongchengship 阅读(221) 评论(0) 推荐(0)
摘要:在 Java 语言中,理解方法调用栈、栈帧、局部变量表、操作数栈等概念非常重要,它们与方法的执行和内存管理密切相关。下面是对这些概念的详细解释及它们之间的关系: 图片来源于https://blog.csdn.net/qq_35621494/article/details/107351237 原作者的 阅读全文
posted @ 2024-10-13 21:37 gongchengship 阅读(177) 评论(0) 推荐(0)
摘要:在 C 语言程序中,内存布局通常被分为几个主要的区域,每个区域都有不同的用途。以下是关于代码段、数据段、堆栈、全局变量、局部变量和函数的详细描述,以及它们之间的关系。 1. 代码段(Text Segment) 代码段(也称为 text segment)是程序的只读部分,存储的是程序的指令(即代码)。 阅读全文
posted @ 2024-10-13 20:45 gongchengship 阅读(687) 评论(0) 推荐(0)
摘要:在编程语言中,函数(在 C 语言中使用)和 方法(在 Java 中使用)是两个重要的概念,尽管它们在不同语言中的实现有差异,但在本质上都是 可重用的代码块。以下是对 C 语言中函数、Java 语言中方法的本质以及线程安全问题的详细分析: 1. C 语言中函数的本质 在 C 语言中,函数的本质是 一段 阅读全文
posted @ 2024-10-02 13:45 gongchengship 阅读(114) 评论(0) 推荐(0)