自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL进阶之(十)事务和隔离级别

MySQL 事务主要用于处理操作量大、复杂度高的数据。比如:张三给李四转钱这个操作,必须同时完成两步:扣除张三账户中的钱、新增李四账户中的钱。这两步数据库操作就构成了一个事务。事务是一组逻辑操作单元,使数据从一种状态变换到另一种状态。事务是数据库区别于文件系统的重要特性之一,有了事务就会让数据库始终保持一致性,同时还能通过事务机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。在 MySQL 中只有使用了InnoDB 存储引擎的数据库或表才支持事务。

2024-07-22 23:04:04 436

原创 MySQL进阶之(九)数据库的设计规范

在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的级别。要想设计一个结构合理的关系型数据库,就必须满足一定的范式(Normal Form,简称:NF)。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前关系型数据库有六种常见范式,按照范式级别,从低到高分别是:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF,又称完美范式)。

2024-05-28 22:54:13 793

原创 MySQL进阶之(八)索引优化与查询优化

提前为下文做数据准备,两张表:学员表(student) 插入 50w 条数据,班级表(class) 插入 1w 条数据。

2024-05-16 22:46:16 705

原创 MySQL进阶之(七)EXPLAIN 详解

id 如果相同,可以认为是一组,自上往下顺序执行。在所有组中,id 值越大,优先级越高,越先执行。id 的每个值都代表一趟独立的查询,一个 sql 的查询趟数越少越好。

2024-04-10 22:10:43 747

原创 MySQL进阶之(六)索引的使用与设计原则

① 冗余索引例如:通过 idx_name_birthday_phone_number 索引就可以对 name 列进行快速搜索,再创建一个专门针对 name 列的索引就算是一个冗余索引,维护这个索引只会增加维护的成本,并不会对搜索有什么好处。② 重复索引col2 INT,例如:col1 既是主键、又给它定义为一个唯一索引,还给它定义了一个普通索引,可是主键本身就会生成聚簇索引,所以定义的唯一索引和普通索引是重复的,这种情况要避免。

2024-03-28 22:05:59 836

原创 MySQL进阶之(五)InnoDB数据存储结构之表空间

在。

2024-03-09 19:59:16 1037

原创 MySQL进阶之(四)InnoDB数据存储结构之行格式

之所以要存储 NULL 值,是因为数据都是需要对齐的,如果没有标注出来 NULL 值的位置,就有可能。

2024-03-06 22:54:51 1105

原创 MySQL进阶之(三)InnoDB数据存储结构之数据页结构

InnoDB数据页结构

2024-03-01 23:11:01 1047

原创 MySQL进阶之(二)索引的数据结构

索引的数据结构

2024-01-09 20:13:08 1349 2

原创 MySQL进阶之(一)逻辑架构

逻辑架构、select语句的执行过程、update语句的执行过程

2023-12-28 22:50:55 1623 1

原创 (五)Java 的内存模型 JMM

一方面,需要 JMM 提供一个强的内存模型来编写代码;另一方面,编译器和处理器希望 JMM 对它们的束缚越少越好,这样它们就可以最可能多的做优化来提高性能,希望的是一个弱的内存模型。JMM 考虑了这两种需求,并且找到了平衡点,对编译器和处理器来说,只要不改变程序的执行结果(单线程程序和正确同步了的多线程程序),编译器和处理器怎么优化都可以。而对于我们开发来说,JMM 提供了 happens-before 规则(JSR-133规范),满足了我们的需求——简单易懂,并且提供了足够强的内存可见性保证。

2023-07-17 16:37:20 193

原创 (四)并发编程带来了哪些问题?

CPU 是很宝贵的资源,速度也非常快,为了保证雨露均沾,通常为给不同的线程分配时间片,当 CPU 从执行一个线程切换到执行另一个线程时,CPU 需要保存当前线程的本地数据、程序指针等状态,并加载下一个要执行的线程的本地数据、程序指针等,这个开关被称为。这时线程 2 执行 get() 方法,首先会从主内存中读取 i 的值,然后加载到自己的工作内存中,这个时候读取到 i 的值是 50,再将 50 赋值给 j,最后返回 j 的值就是 50 了。然而,车道一旦多起来,也就意味着『加塞』的场景可能就会越来越多。

2023-07-06 14:53:47 505

原创 (三)线程组和线程优先级

可以看到终端或命令提示符界面没有任何输出,main 线程(非守护线程)在启动了 DaemonThread 线程之后随着 main 方法的执行结束而终止了,而此时 Java 虚拟机中已经没有非守护线程了,所以 Java 虚拟机需要退出,同时 Java 虚拟机中所有的线程都要立即终止,因此 DaemonThread 守护线程直接终止,finally 代码块中的语句并没有执行。由此可见,如果某个线程的优先级大于线程所在线程组的最大优先级,那么该线程的优先级将会失效,取而代之的是线程组的最大优先级。

2023-07-04 17:59:19 269

原创 (二)线程的六种状态及上下文切换

线程的六种状态及上下文切换。

2023-07-02 16:52:54 445

原创 (一)创建线程的三种方式

如果其他线程都执行完毕,main() 方法也执行完毕,JVM 就会退出,也就是停止运行。如果 JVM 都停止运行了,守护线程自然也就停止了。创建一个类实现 Callable 接口,重写 call() 方法,这种方式可以通过FutureTask获取任务执行的返回值。使当前正在执行的线程暂停指定的毫秒数,也就是进入休眠的状态。显然,这些概念是很抽象的。因为 run() 方法是用来封装被线程执行的代码。

2023-06-29 22:20:07 198

原创 JavaSE进阶之(十六)枚举

枚举

2023-03-23 16:42:20 369 1

原创 Java 到底是值传递还是引用传递?

Java 到底是值传递还是引用传递

2023-03-18 19:47:06 3109 3

原创 重写时应当遵守的 11条规则

重写时应当遵守的 11条规则

2023-03-17 17:17:41 1209

原创 深入理解 Java 中的 hashCode

深入理解 Java 中的 hashCode

2023-03-17 09:55:27 2144 6

原创 Java 中的浅拷贝和深拷贝

Java 中的浅拷贝和深拷贝

2023-03-09 23:02:56 1974

原创 Java 中的拆箱和装箱

Java 中的拆箱和装箱

2023-03-08 17:44:29 412

原创 Java中 new Integer 与 Integer.valueOf 的区别

Java中 new Integer 与 Integer.valueOf 的区别

2023-03-06 22:27:53 470

原创 RocketMQ之(一)RocketMQ入门

RocketMQ入门

2023-02-20 21:44:45 2293

原创 JavaSE基础之(十九)Collections类、Hutool类、Guava类

Java中常用工具类

2022-11-11 15:33:31 1273

原创 JavaSE进阶之(十三)Java 异常处理的 21 个最佳实践

Java 异常处理的 21 个最佳实践

2022-11-10 17:59:44 678

原创 JavaSE进阶之(十二)Map 子接口之 TreeMap

TreeMap

2022-11-02 15:36:55 428

原创 JavaSE进阶之(十一)Map 子接口之 LinkedHashMap

Map 子接口之 LinkedHashMap

2022-11-01 17:30:41 897

原创 JavaSE进阶之(十)Map 子接口之 ConcurrentHashMap

Map 子接口之 ConcurrentHashMap

2022-10-29 17:48:35 1070

原创 JavaSE进阶之(九)Map 子接口之 HashMap

Map 子接口之 HashMap。

2022-10-24 18:21:42 347

原创 JavaSE进阶之(七)Collection 子接口之 Queue

Collection 子接口之 Queue

2022-10-14 10:26:48 391

原创 JavaSE进阶之(六)Collection 子接口之 Set

Set集合

2022-09-22 16:58:37 187

原创 JavaSE基础之(二十二)Java中的this和super

Java中的this和super

2022-09-20 10:50:40 430

原创 JavaSE基础之(二十一)Java内部类

Java内部类。

2022-09-19 15:19:49 726

原创 抽象类和接口的区别

抽象类和接口的区别。

2022-09-19 10:36:19 172

原创 JavaSE基础之(十六)final关键字

十六、final关键字

2022-08-29 16:56:31 86

原创 JavaSE基础之(八)Java中的访问权限修饰符

八、Java 中的访问权限修饰符

2022-08-29 16:42:10 154

原创 Java中常用的48个关键字和2个保留字

Java中常用的48个关键字和2个保留字

2022-08-23 08:50:54 620

原创 多线程入门总结

多线程入门总结

2022-07-29 18:06:54 268 1

原创 SpringSecurity

SpringSecurity

2022-06-09 16:34:48 438 2

原创 Spring常用注解汇总

Spring中的常用注解汇总。

2022-05-10 17:55:16 952

空空如也

空空如也

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

TA关注的人

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