enyang

Java<3>——线程安全与同步机制

1 线程安全与同步机制 线程安全是指在多线程环境下,多个线程对共享资源进行访问时,不会发生数据不一致或竞争条件的现象。为了保证线程安全,通常需要通过同步机制来控制对共享资源的访问,确保在任何时刻只有一个线程能访问该资源。 1.1 线程安全的定义 线程安全指的是在多线程并发执行的情况下,多个线程对同一

enyang Published on 2025-12-05

Java 多线程<2>——内存模型与可见性

1 Java 内存模型(JMM)与可见性 Java 内存模型(Java Memory Model,简称 JMM)是 Java 为了保证多线程程序中线程间共享变量的可见性、原子性和有序性而设计的一套规范。JMM 定义了多个线程共享数据时如何在不同的线程之间传递变量的值,以及哪些操作可以在多线程环境下被

enyang Published on 2025-12-05

Java多线程<1>——多线程基础

1 什么是进程与线程 1.1 进程(Process) 1.1.1 进程的定义 进程是操作系统进行资源分配的基本单位。当一个程序被启动后,操作系统会为这个程序分配独立的系统资源,这些资源包括内存空间、文件句柄、网络端口等。 例如:运行一段 Java 程序时,启动 Java 虚拟机(JVM),JVM 就

enyang Published on 2025-12-05

LeetCode_128.最长连续序列

1. 题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它

enyang Published on 2025-11-28

数据结构<3>——栈

1 栈的定义 1.1 什么是栈(Stack) 栈是一种 后进先出(LIFO, Last In First Out) 的线性数据结构。 插入和删除操作都发生在同一端,称为 栈顶(Top)。 另一端称为 栈底(Bottom),保持不动。 1.2 栈的特点 只能在栈顶进行操作。</

enyang Published on 2025-11-28

数据结构<2>——链表

1 链表的定义 1.1 什么是链表 链表(Linked List)是一种非连续存储的数据结构,由若干节点通过指针连接组成。 每个节点通常包含两部分: 数据域(Data):存储节点数据。 指针域(Next):存储指向下一个节点的引用。 在 Java 中,一个单向链表节点可以定义为: class Nod

enyang Published on 2025-11-27

数据结构<1>——数组

1. 数组的定义 数组 是一种线性数据结构,它包含一个固定大小的、相同类型的元素集合。数组通过一个单一的名字来访问,并且元素通过索引来进行定位。每个数组都有一个特定的大小,一旦创建,大小不可改变。 内存模型:数组是一个连续的内存空间,元素按顺序排列。 特点: 固定大小:数组创建时必须指定大小,不能动

enyang Published on 2025-11-25

Git<1>——原理

Git 是一个 分布式版本控制系统,它的核心思想是允许每个开发者在本地管理整个项目的完整版本历史,而不仅仅依赖于中央服务器。这样,Git 提供了非常强大的版本管理和团队协作能力。 1. 版本控制 Git 主要用于记录和管理文件的变更,它将每次文件的修改保存为一个 提交(Commit)。这些提交是一个

enyang Published on 2025-11-23

设计模式 <4> —— 行为型模式 (Behavioral Patterns)

行为型设计模式关注对象之间的通信和责任分配,尤其是如何通过不同的方式使得对象间能够有效协作。这些模式描述了类和对象之间的交互模式,帮助解决在运行时如何灵活地分配责任、简化复杂的行为逻辑,并且增强代码的扩展性和可维护性。 1. 责任链模式 (Chain of Responsibility Patter

enyang Published on 2025-11-22

设计模式 <3> —— 结构型模式 (Structural Patterns)

结构型设计模式主要解决类和对象之间的组合关系。它关注如何通过不同的方式组合类和对象,使系统的结构更加灵活和高效。通过这些模式,我们可以优化代码结构,减少系统间的耦合性,增加代码的可维护性和可扩展性。 1. 适配器模式 (Adapter Pattern) 适配器模式的主要目的是将某个类的接口转化为客户

enyang Published on 2025-11-22
Previous Next