- 博客(61)
- 收藏
- 关注

原创 Java线程安全与中断机制详解
本文讲解了Java多线程编程中:1.回调机制中this和Thread.currentThread()的使用区别;2.线程中断机制,包括标志位设置、中断检查方法及阻塞状态处理;3.线程的六种状态;4.线程安全问题及同步锁解决方案。重点分析了中断处理的完整流程和线程竞争的同步原理,指出同步锁虽然确保线程安全但会降低并发效率
2025-07-25 08:16:40
940
81
原创 【Java学习】匿名内部类的向外访问机制
本文分析了匿名内部类访问方法局部变量和外部类成员变量的机制及生命周期问题。对于方法局部变量,Java采用值捕获方式复制final常量值到内部类副本,避免悬空访问和线程安全问题;C++的引用捕获则需注意生命周期管理和线程同步。访问外部类成员时,匿名内部类通过持有外部类引用直接访问,其生命周期与外部类绑定保证安全访问,但需注意多线程并发修改的同步问题。文章对比了不同语言的变量捕获策略,并针对生命周期管理和线程安全提出了解决方案。
2025-07-25 08:18:26
1695
85
原创 Java线程创建与运行全解析
本文摘要: Java线程创建与运行机制详解:1)程序启动时JVM创建主线程执行main();2)两种线程创建方式:继承Thread类重写run()或实现Runnable接口,通过start()启动线程;3)多态特性体现在子类实例向上转型为父类引用后仍能调用子类重写方法;4)支持匿名类和Lambda表达式简化实现;5)线程属性包括ID、名称、状态等,优先级由系统调度决定;6)前台线程存活状态影响进程生命周期。重点阐明了通过多态机制实现线程任务的自定义执行逻辑。
2025-07-16 21:30:54
1148
114
原创 【操作系统】线程
本文讲解了1.线程的概念——进程包含线程的关系、线程资源占用的布局,2.从创建、通信、调度、销毁、安全性、稳定性方面比较了多线程与多进程的特点,3.详解了线程调度是如何提升CPU的执行效率与线程数量过多导致CPU执行效率降低的问
2025-07-11 09:00:00
1164
151
原创 【操作系统】进程(二)内存管理、通信
本文详细讲解了 进程 用虚拟地址空间映射物理空间的内存管理模式 及其实现进程间内存独立隔离的原理,接着讲解了互相独立的进程之间如何通过操作系统提供的 管道、消息队列、共享内存的特殊渠道的方式 实现进程间保持独立地进行数据交流
2025-07-08 06:28:04
1161
95
原创 【操作系统】进程(一)调度
本文主要介绍了计算机系统中CPU、进程和操作系统的核心概念。首先阐述了CPU的指令执行机制,包括核心、频率(主频/睿频)、读取优化(缓存/流水线)以及内核态与用户态的执行模式切换。其次详细说明了进程管理,包括进程控制块(PCB)的结构组成,涵盖了身份标识(PID)、资源分配(内存/硬盘/CPU)以及进程调度相关的状态、优先级和上下文信息。最后介绍了操作系统的功能,包括通过API管理软件应用、对硬件资源进行抽象管理,以及处理中断信号等核心机制。全文系统性地解析了计算机系统的基本工作原理和关键组件间的协同关系。
2025-07-04 07:16:25
1092
169
原创 【MySQL】事务
本文讲解了MySQL事务的四大特性:原子性、一致性、持久性、隔离性,详细讲解了事务 写加锁、读加锁、串行化 隔离级别的实现与效果
2025-06-02 17:17:54
3254
140
原创 【MySQL】索引(B+树详解)
本文从索引的底层 B+树的数据构 设计出发,详细讲解了 MySQL 是如何通过索引 大幅降低查询时硬盘I/O的 原理设计实现
2025-05-31 14:50:11
2657
186
原创 【MySQL】数据库约束
本文讲解了MySQL的not null、default、unique、primary key、foreign key 数据库约束的介绍与使用
2025-05-21 23:30:03
2715
212
原创 【MySQL】基础知识
本文详细讲解了 数据库的 客户端-服务器结构,数据库的存储空间、存储体系、存储特点,数据库的字符集编码方式,数据库的数据类型
2025-05-15 15:43:46
2777
221
原创 【Java学习】Lambda表达式
本文详细讲解了 Lmabda表达式的简化原理、Lmabda表达式的简化条件、Lambda表达式的书写、Lambda表达式在函数式接口中的具体使用
2025-05-12 13:12:45
1327
203
原创 【Java学习】枚举(匿名类详解)
本文详细讲解了 匿名类的概念、结构、创建、性质,接着讲解了 匿名类 在 枚举类 中的结构与使用 —— 枚举用 匿名子类创建的实例对象 作为枚举常量,实现了枚举的多态性、又用final、private维护了枚举的单例特性,使得 枚举类 成为 存储常量的 高度安全 又 多态 的结构,最后讲解了枚举类中常用方法的使用
2025-05-10 23:40:24
1898
212
原创 【数据结构】String字符串的存储
本文讲解了String字符串的在内存中的存储结构、存储过程、存储位置及存储中的new新建与intern入池操作
2025-05-02 15:31:43
3238
133
原创 【数据结构】二叉搜索树
本文讲解了二叉搜索树的概念、存储原理、有序维护的核心特性,并在搜索树的插入和删除上验证与实现了它,最后分析了二叉搜索树在完全二叉树排列与链表排列下的搜索性能
2025-04-28 20:52:44
2083
173
原创 【数据结构】哈希表
本文从哈希表存储的原理开始,围绕哈希冲突讲解了冲突的概念、冲突的发生、冲突的避免与冲突的解决,最后从时间复杂度与空间利用率层面讲解了哈希表结构的优点与缺陷
2025-04-27 09:00:00
3585
167
原创 【数据结构】Map与Set结构详解
本文从底层Map的内外双接口结构开始分析,从其结构出发讲解了Map具体是如何管理存储对象的,接着深入Map的存储结构,讲解了Map的基本操作节点-包装对象节点的存储特点 以及节点的数据组织结构-数组/红黑树,讲解了Set复用Map的关系、整理了Map与Set常用方法的归纳使用
2025-04-24 16:28:36
2063
148
原创 【算法】计数排序、桶排序、基数排序
计数排序、桶排序、基数排序是三大重要的非基于比较实现的排序算法,本文从鸽巢原理的讲解出发,解释了计数排序、桶排序是如何通过非比较来实现排序的,接着介绍了其实现的具体步骤、代码与复杂度、稳定性的性质分析,最后同样从原理与实现的角度讲解了基数排序
2025-04-20 01:54:21
1367
152
原创 【算法】归并排序
本文从归并排序的递归设计开始,带领大家一起体验归并排序的递归思路的设计过程、用递归实现排序的原理实质、总结了递归设计实现的核心思路,接着从递归的函数调用空间栈层面,详细介绍了递归调用栈里面栈帧压入弹出的先后过程,从空间栈帧的角度进一步理解递归的过程与本质,最后从递归的调用栈空间层面,总结了递归的时间复杂度与空间复杂度是如何计算的
2025-04-16 10:04:15
2305
150
原创 【算法】快速排序
本文从快速排序的递归设计开始,带领大家一起体验快速排序的递归思路的设计过程、用递归实现排序的原理实质,接着详细介绍了快速排序中三个基准排序的原理与实现,最后从分析了快速排序的时间复杂度与空间复杂度,讲解了对其用三数取中取基准、底层换用插入排序来实现优化的原理与利与弊
2025-04-12 21:31:21
2322
165
原创 【算法】插入排序
本文从直接插入排序开始,从其排序的原理、排序的实现到直接插入排序的时间复杂度的分析,我们可以发现,直接插入排序是可以进行分组即缩小增量来进行优化:优化为希尔排序,从其优化的方向、优化的原理与优化的设计讲解了希尔排序这种优良的排序算法的实现
2025-04-07 12:00:37
1738
132
原创 【算法】堆排序
利用堆能得到所有数据中最大值的特点,可以用堆实现数据的排序,本文从堆排序的实现原理、代码实现以及时间复杂度分析讲解了堆排序这种优良的排序算法
2025-04-06 02:34:27
1567
91
原创 【数据结构】堆
优先级队列是用堆实现的,本文讲解了堆的完全二叉树结构,堆向上调整与向下调整的过程,堆的向上创建与向下创建的结构,堆的插入、删除底层实现的过程,以及堆在排序中的重要应用,用来解决Top-k问题的思路
2025-04-02 17:25:56
1826
77
原创 逆波兰表达式
计算机对表达式的计算处理:我们日常写的计算表达式都是中缀表达式,计算机进行计算工作时,都是先将输入的中缀表达式转为后缀表达式(逆波兰表达式),再将后缀表达式字符串引用数组遍历转数字数据在进栈与出栈中与转的运算符字符进行对应计算与存值的
2025-03-23 23:23:27
516
38
原创 【数据结构】栈和队列
本文介绍了栈和队列结构的特点,双端队列、循环队列的实现与优点,用双端队列可实现栈等栈和队列之间相互转化的关系,重点介绍了栈和队列在数据结构中的广泛实现:用数组实现的线性栈队列、用链表实现的链式栈队列,Queue、Deque接口在集合框架中为实现类提供创建栈和队列结构的重要性以及栈和队列最底层方法的说明与使用
2025-03-21 19:13:43
1788
51
原创 数据结构中的引用管理对象体系
本文讲解了数据结构在面向对象体系中是如何通过引用管理对象的,并以链表的管理结构举例说明了引用管理对象的体系结构
2025-03-19 01:47:35
601
60
原创 【数据结构】ArrayList顺序表
介绍了数据结构在面向对象体系中的特点,整理归纳好了ArrayList类里面从构造、遍历、获取、查找、比较、修改、插入、删除、截取到清空一系列常用方法的使用与说明
2025-03-14 00:18:44
1982
68
原创 【Java学习】包装类
每个基本数据类型都有对应的基本类型的包装类变量基本数据类型对应的包装类对象类与对象面向对象体系。实例化包装类对象时,可以通过new Integer(int)实例化创建一个包含这个整数的包装类的似复刻变量,但我们一般都使用Integer类变量里面的静态方法valueOf(int)来实例化创建包上它这个整数的包装类对象
2025-03-10 17:43:36
714
31
原创 【Java学习】泛型
执行操作的一直都是Object类的似复刻变量,外界引用进来都是向上转型成Object类似复刻变量引用进来的,它通过编译类型检查指定确定了使用进入此泛型类变量里向上转型为Object类的似复刻变量的原下子类类型,对已知其下原子类类型的Object类似复刻变量在作为此泛型类变量里方法返回值处的对应去外部调用它处插入强转能对应向下转型回已知原子类类型的指定引用回来在外部,这样就实现了泛型类变量内部用所有类统一能用的Object父类来共用,外部不同类的使用处又能对应针对到各自不同的外部引用类
2025-03-10 17:04:23
1381
43
原创 【Java学习】异常
本文详解了Java中 异常的产生、try-catch-finally异常捕捉体系的处理、异常的销毁 全过程,介绍了异常的受检查与非受检查性质以及异常类之间的关系
2025-03-06 22:50:08
421
48
原创 【Java学习】String类变量
String类变量的空间结构、实例化对象过程、实例化对象空间结构、对象指向常量池里的特性、String类提供的常用方法的介绍与使用,同时介绍了StringBuilder与String管理存储字符串的不同以及StringBulider里特有的方法的补充
2025-03-05 01:09:31
1325
45
原创 【Java学习】内部类
因为静态与非静态都是对于外部类管理它里面成员而言的,只是内部类成员要多上对将来使用场景负责,其实不管是被静态还是被非静态修饰,对于类本身而言没有影响的,在它们里面的非静态方法自然都有此类变量引用的隐藏形参,不是说被static修饰后的类就不能对它创似复刻变量了,一样是可以的。
2025-02-28 14:18:18
1498
46
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人