自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 线程安全

线程安全问题产生的主要原因是:1)操作系统线程调度具有随机性;2)多个线程同时修改同一变量;3)修改操作非原子性。通过count++案例展示了非原子操作导致的线程不安全现象,每次执行结果可能不同。解决方案核心是使用synchronized关键字实现互斥:1)修饰代码块时可指定锁对象;2)修饰普通方法时锁定当前对象(this);3)修饰静态方法时锁定类对象。正确使用锁需要注意代码块位置和锁对象选择,在保证线程安全的同时兼顾执行效率。

2025-07-28 21:33:11 1116

原创 Thread 类 -- 2

讲解了线程终止的三种方式:立即终止(break)、不终止或延迟终止。其次说明join()方法用于控制线程执行顺序,包括带超时参数的版本。接着介绍sleep()方法实现线程休眠及其特殊用法(如sleep(0))。最后详细解析了Java线程的6种状态(NEW、TERMINATED、RUNNABLE等)及其转换关系,并提供了线程调试的基本方法,包括状态分析和调用栈检查。这些内容涵盖了线程控制的核心机制,为处理多线程问题提供了实用指导。

2025-07-28 09:03:48 953

原创 Thread 类

让线程的入口方法执行完毕,线程就随之结束了(run 方法尽快 return)

2025-07-21 21:26:28 753

原创 初识线程

并发编程 是一种让程序能够执行多个任务的编程技术,多个任务的执行时间有重合,如交替执行、同时执行等。相对于传统的从上到下依次同步执行代码,我们也称并发编程为异步编程。目前,常见的并发模型主要有两种,一是多线程模型,二是单线程事件循环模型。

2025-07-21 16:01:47 561

原创 计算机是如何工作的

现代cpu的一个特性,会动态的根据当前的任务量,变更频率。任务量越大,睿频越高,但也是有上限的

2025-07-16 15:45:16 1099

原创 JDBC编程

JDBC(Java Data Base Connectivity,Java数据库连接)是Java程序和数据库之间的桥梁,包含了一套Java定义的用于执行SQL语句的接口,使开发者能够编写数据库的程序。JDBC的主要作用是:与数据库建立连接、发送SQL语句和处理数据库执行结果。

2025-07-16 10:57:24 612

原创 [MySQL]事务

事务是数据库中将一组SQL语句打包执行的机制,确保要么全部成功要么全部失败。具有ACID特性:原子性(整体执行)、一致性(数据正确)、隔离性(事务间独立)和持久性(持久保存)。

2025-06-30 17:48:11 1116

原创 索引 -- 2

当我们为一张表加主键约束(Primary key),外键约束(Foreign Key),唯一约束(Unique)时,MySQL会为对应的的列自动创建一个索引

2025-06-30 16:40:53 916

原创 视图、索引介绍

MySQL的索引是⼀种数据结构,它可以帮助数据库高效地查询、更新数据表中的数据。索引通过 ⼀定的规则排列数据表中的记录,使得对表的查询可以通过对索引的搜索来加快速度。 类似于书籍的目录,通过指向数据行的位置,可以快速定位和访问表中的数据

2025-06-27 21:32:23 554

原创 数据库操作复习

表连接的执行过程:1. 先计算参与表连接的笛卡尔积 2. 通过连接条件过滤无效数据 3. 加入查询条件得到想要的结果行 4. 精简列名得到最终想要查询的列

2025-06-16 18:13:16 670

原创 联合查询 -- 2

自连接:自己与自己进行表连接,可以把行转化在列,在查询的时候可以使用where条件进行过滤,也就是说可以实现行与行之间的比较功能

2025-05-24 10:59:42 704

原创 联合查询

笛卡尔积是让两个表通过排列组合的方式,得到的一个更大的表。笛卡尔积的列数,是这两个表的列数相加,笛卡尔积的行数,是这两个表的行数相乘

2025-05-16 21:10:11 1010

原创 表的设计、聚合函数

实体:需求中的关键性名词,就是前面说过的 “对象”;一般来说,每个实体,都需要安排一个表,表的列对应实体的各个属性

2025-05-16 17:08:33 771

原创 数据库约束

数据库约束:数据库自动的对数据的合法性进行校验检查的一系列机制。其目的是为了保证数据库中能够避免被插入/修改一些非法的数据

2025-05-12 22:11:53 1236

原创 表的增删改查 -- 2

1. 全列查询 select * from 表名;2. 指定列查询 select 列名 from 表名;3. 表达式查询 select 表达式 from 表名;

2025-05-12 15:06:59 764

原创 表的增删改查

CRUD:增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete) 四个单词的首字母缩写

2025-04-28 16:39:56 713

原创 数据库操作

数据库:一个数据库服务器上,可以把很多有业务上联系的表,放到一起,构成了一个逻辑上的“数据集合",称为数据库

2025-04-28 15:23:57 902

原创 数据库介绍

数据库存储的数据,希望存储的数据量比较大,持久化存储,所以一般存储在硬盘(也有少数数据库是使用内存的,追求速度的最大化,例如redis)

2025-04-22 23:42:12 679

原创 [Java] 泛型

泛型上界;通配符上下界

2025-04-22 16:35:11 695

原创 枚举、Lambda表达式

Lambda表达式其实是一个匿名内部类的实现

2025-04-20 17:06:17 935

原创 [Java]反射、String类补充

Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制

2025-04-19 21:11:13 856

原创 Map和Set相关练习

刷题

2025-04-19 18:27:53 864

原创 [数据结构]哈希表

可以不经过任何比较,一次直接从表中得到要搜索的元素。 如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。

2025-04-17 19:46:55 1012

原创 [Java]Map和Set

Map和Set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关

2025-04-17 16:38:58 741

原创 [数据结构]排序 --2

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法。基本思想:任取待排序元素序列中的某元 素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有 元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止

2025-04-13 08:25:29 1000

原创 [数据结构]排序

排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作

2025-04-10 18:05:44 984

原创 优先级队列(堆)

队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队 列时,可能需要优先级高的元素先出队列,这种场景下,使用队列显然不合适在这种情况下,数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就是优先级队列

2025-04-10 14:49:09 692

原创 二叉树相关练习--2

刷题笔记

2025-04-07 08:48:06 850

原创 二叉树相关练习

刷题笔记

2025-04-07 08:47:25 870

原创 树和二叉树

树是一种 非线性 的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看 起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

2025-03-16 20:29:56 1104

原创 刷题练习笔记

刷题

2025-03-16 20:28:33 423

原创 [数据结构]栈和队列

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守 后进先出 LIFO(Last In First Out)的原则。底层是数组

2025-03-08 19:36:11 982

原创 队列相关练习

思路:1. 入栈时,两个队列 哪个不为空放到哪个队列里,两个都是空的指定放到第一个里面2. 出栈时,哪个不为空出哪个,出 size-1 个元素3. 当两个队列都是空的时候,那么说明我们模拟的栈是空的。

2025-03-08 19:35:48 311

原创 栈相关练习

刷题笔记

2025-03-06 20:37:12 422

原创 LinkedList 双向链表

LinkedList的底层是双向链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的结点中,通过引用将节点连接起来,所以在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。

2025-03-05 17:25:06 1304

原创 MS计算机二级笔记

44.将一张幻灯片背景图片应用到另一张幻灯片:选择一张幻灯片 右键 保存背景 来到另一张幻灯片 右键 社置背景格式 图片或纹理填充 文件 找到那另一张幻灯片。32.跨页重复标题行(在表中):选择标题 布局 重复标题行 没重复标题行可以:选择没重复的表单击右键 表格属性 文字环绕。26:添加返回到某张幻灯片的按钮:在其他各张 插入 形状 动作按钮 超链接到 幻灯片 那一张幻灯片 其他复制粘贴。级标题 不限定格式 使用通配符。20:插入一张新的幻灯片:要修改切换效果以保证每个幻灯片的切换效果不一样。

2025-03-02 15:05:37 819

原创 链表相关练习--2

刷题笔记

2025-03-01 20:24:58 603

原创 链表相关练习

做题笔记

2025-02-28 16:11:49 927

原创 LinkedList与链表

链表是一种物理结构上不连续的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的;类似火车车厢,链表是由一个一个的节点组成的

2025-02-26 17:39:42 717

原创 电脑键盘知识

1. 功能区 2. 主要信息输入区 3. 编辑区 4. 数字键盘区笔记本电脑键盘的功能区,使用前需先按Fn键。

2025-02-25 22:42:13 1212

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除