enyang
Categories
Java
Go
Algorithm
DataBase
Middleware
Message Queue
Tools
System Design
Web
AI
Cyber Security
LeetCode
Sundries
About
Login
Menu
Categories
Java
Go
Algorithm
DataBase
Middleware
Message Queue
Tools
System Design
Web
AI
Cyber Security
LeetCode
Sundries
About
enyang
Archives
2025 / 12
Java 多线程<2>——内存模型与可见性
2025-12-05
Concurrency
#Concurrency
1 Java 内存模型(JMM)与可见性 Java 内存模型(Java Memory Model,简称 JMM)是 Java 为了保证多线程程序中线程间共享变量的可见性、原子性和有序性而设计的一套规范。JMM 定义了多个线程共享数据时如何在不同的线程之间传递变量的值,以及哪些操作可以在多线程环境下被
Java多线程<1>——多线程基础
2025-12-05
Concurrency
#Concurrency
1 什么是进程与线程 1.1 进程(Process) 1.1.1 进程的定义 进程是操作系统进行资源分配的基本单位。当一个程序被启动后,操作系统会为这个程序分配独立的系统资源,这些资源包括内存空间、文件句柄、网络端口等。 例如:运行一段 Java 程序时,启动 Java 虚拟机(JVM),JVM 就
2025 / 11
LeetCode_128.最长连续序列
2025-11-28
LeetCode
#LeetCode
1. 题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它
数据结构<3>——栈
2025-11-28
Data Structures
#Data Structures
1 栈的定义 1.1 什么是栈(Stack) 栈是一种 后进先出(LIFO, Last In First Out) 的线性数据结构。 插入和删除操作都发生在同一端,称为 栈顶(Top)。 另一端称为 栈底(Bottom),保持不动。 1.2 栈的特点 只能在栈顶进行操作。</
数据结构<2>——链表
2025-11-27
Data Structures
#Data Structures
1 链表的定义 1.1 什么是链表 链表(Linked List)是一种非连续存储的数据结构,由若干节点通过指针连接组成。 每个节点通常包含两部分: 数据域(Data):存储节点数据。 指针域(Next):存储指向下一个节点的引用。 在 Java 中,一个单向链表节点可以定义为: class Nod
数据结构<1>——数组
2025-11-25
Data Structures
#Data Structures
1. 数组的定义 数组 是一种线性数据结构,它包含一个固定大小的、相同类型的元素集合。数组通过一个单一的名字来访问,并且元素通过索引来进行定位。每个数组都有一个特定的大小,一旦创建,大小不可改变。 内存模型:数组是一个连续的内存空间,元素按顺序排列。 特点: 固定大小:数组创建时必须指定大小,不能动
Git<1>——原理
2025-11-23
Git
#Git
Git 是一个 分布式版本控制系统,它的核心思想是允许每个开发者在本地管理整个项目的完整版本历史,而不仅仅依赖于中央服务器。这样,Git 提供了非常强大的版本管理和团队协作能力。 1. 版本控制 Git 主要用于记录和管理文件的变更,它将每次文件的修改保存为一个 提交(Commit)。这些提交是一个
设计模式 <4> —— 行为型模式 (Behavioral Patterns)
2025-11-22
Design Pattern
#Design Pattern
行为型设计模式关注对象之间的通信和责任分配,尤其是如何通过不同的方式使得对象间能够有效协作。这些模式描述了类和对象之间的交互模式,帮助解决在运行时如何灵活地分配责任、简化复杂的行为逻辑,并且增强代码的扩展性和可维护性。 1. 责任链模式 (Chain of Responsibility Patter
设计模式 <3> —— 结构型模式 (Structural Patterns)
2025-11-22
Design Pattern
#Design Pattern
结构型设计模式主要解决类和对象之间的组合关系。它关注如何通过不同的方式组合类和对象,使系统的结构更加灵活和高效。通过这些模式,我们可以优化代码结构,减少系统间的耦合性,增加代码的可维护性和可扩展性。 1. 适配器模式 (Adapter Pattern) 适配器模式的主要目的是将某个类的接口转化为客户
设计模式<2>——创建型模式 (Creational Patterns)
2025-11-21
Design Pattern
#Design Pattern
创建型模式主要解决对象创建过程中的复杂性。通过这些模式,可以灵活地控制对象的实例化,避免系统中硬编码的实例化逻辑。每种模式都适用于不同的场景,并且可以根据项目需求选择合适的模式来解耦系统,提高代码的可维护性和扩展性。 1. 单例模式 (Singleton Pattern) 确保某个类只有一个实例,并
Previous
2 / 3
Next