自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 重装CentOS YUM

安装完成后,配置 Yum 源以确保软件包的正常安装和更新。:这一步会删除所有与 YUM 相关的包,请谨慎操作。Linux可通过WGE 路径来下载。,则说明 YUM 已安装。

2025-02-18 16:15:22 534

原创 Mysql进阶SQL优化

SQL优化在开发场景中必不可少的技能之一,它能最大限度的提升SQL查询性能,如果随意使用也会出现不可预料的结局。 我们先说说不优化SQL造成什么现象。常见问题是响应时间长,用户体验感低。数据库频繁争抢锁,浪费性能。CPU过载,资源消耗高等问题。为了避免这些问题,不能盲目的添加资源,尽可能做到物尽其用。现实生活中不管对于ToC还是ToB,对外核心点:体验感永远是排在第一位,不管系统好坏,一旦体验感不行,都会丧失客户,这也是我们需要去优化SQL的原因之一。 优化SQL旨在保证提高数据

2024-12-28 22:59:28 735

原创 Mysql索引

上面两图可知:聚集索引与非聚集索引基本一致,除也叶子节点外的结构不一致外,其他的也差不多。非聚集索引叶子节点之所以不存储Row数据,第一个原因:冗余存储,需要维护更多的数据,不利于数据库性能。第二个原因:节约内存。添加唯一索引列不允许有重复值,且作为条件查询时,提升性能。如果是单列则整列唯一,如果是多列唯一,则多列值整合在一起唯一。使用普通索引查询时,能极大提升查询性能。

2024-12-27 16:49:30 1126

原创 Mysql锁机制

通过上诉共享读锁、独占写锁分析可知。共享读锁只多线程允许读,但都不允许更改数据与表结构。独占写锁只允许获取锁线程操作数据与表结构,其他都只能阻塞等待获取锁。通过上面三个类型锁的介绍,大家都有了一定的认识,元数据锁中的共享读/写锁,是真正的共享。排他锁是互斥的,这个主要是为了避免DQL语句执行过程中其他事务在执行DDL语句。类型锁描述selectshare_read(共享读锁)share_read与share_write兼容的,可以互相存在。share_write(共享写锁)

2024-12-26 23:07:42 966

原创 设计模式之观察者模式

观察者模式:当某个状态更改时,会及时的通知订阅这个状态对象,从而进行业务上的处理。比如我们常见的消息中心(MQ),Redis的发布订阅模式,都可以看作是观察者模式。 优点:1、对象解耦。2、具有自动促发机制。 缺点:1、通知对象过多,会造成性能问题,一般采用异步方式。2、避免循环依赖(防止出现死循环),3、无法获知变化细节。 实现一个可以支持订阅通知的功能。即:用户可以订阅某个主题,当主题有内容时,各个用户可以实时查看到具体的内容。 分析:从上面需求来

2024-12-23 23:58:51 522

原创 设计模式之装饰器模式

通过结果效果图,我们看到了,根据不同会员展示不同的效果,也达到的需求效果。但是仔细查看,可以很清晰的看到各个会员画像是没有直接关系的,基础画像架构并没有复用,且一旦更改基础画像,需要更改3个业务类,才能达到效果,这样虽实现功能,但是拓展性不足,也违背了开闭原则。这样看来,我们上面的问题其实就有问题了,那我们是不是需要更正一哈,既然想复用基础功能,那Java中是不是有继承可以帮助我们实现。装饰者模式 就是在现有对象中进行功能升级,只要不修改原始对象结构的逻辑代码即可。

2024-12-23 19:05:11 814

原创 Mysql存储引擎(InnoDB-MVCC)

MVCC(Multi-Version Concurrency Control)是数据库管理系统中用于处理并发控制能力的一种机制,旨在减少锁的需求来提高并发能力。在MVCC机制中,当一个事务更改数据后,系统会维护一个数据版本链,其他事务获取数据时根据一定的系统访问规则(Read View)来保证事务之间的数据隔离,从而达到减少锁机制,提升数据库性能。 读取数据库已提交的最新数据,同时还保证其他事务不能更改数据(加锁)。在RC模式下,每次读取都是当前读,原因:每次读取都会维护一个新的Read Vi

2024-12-20 23:59:21 1242 2

原创 Mysql存储引擎(InnoDB-事务原理)

通过上述的隔离级别讲解,大家都有一定的认识,也有了一定的了解。可能大家都有一个疑问,不可重复读与幻读之间总感觉有点相识,但是又有点不同,其实之所以会出现这种问题,其实本质性他们都是读取了已提交的数据后产生的后续现象,不同的展现形式,可重复读级别中的快照缓存其实本质上也为我们规避了幻读的情况,大家也不用过多的担心。可重复读隔离级别中基本上在业务环境中不会出现幻读,原因是我们是基于读取的数据进行更改,不会对未出现的数据进行更改,也不会出现幻读问题,如果不放心,其实可以使用锁来保证,但是不建议这么使用。

2024-12-19 18:32:05 853

原创 Mysql的存储引擎(InnoDB篇)

存储引擎是数据库管理系统中对数据存储和访问的核心组件。它定义数据如何存储,索引,检索以及如何事务性地更新。不同的存储引擎提供不同的功能与特性,优化不同的负载。:存储引擎决定了数据在磁盘上的存储方式,包括数据的物理格式和存储结构。:存储引擎提供了创建和管理索引的方法,以加速数据检索。:存储引擎支持事务的ACID属性(原子性、一致性、隔离性、持久性)。:存储引擎管理多个用户或进程对数据的并发访问,以防止数据损坏。:存储引擎必须能够处理系统崩溃,确保数据的完整性和一致性。:存储引擎支持数据的备份和恢复操作。

2024-12-18 22:15:01 1772

原创 Mybatis新增数据并返回主键id

所谓的自定义使用时Mybatis官方对外提供的一些没有自增主键的数据库而生成的一种方式。例如,Oracle数据库就没有自增情况,所以需要自定义来获取。注意:keyPropety属性必须采用insert表中的id的别名。具体的可看下面截图。

2024-12-17 16:23:19 4548

原创 Mysql常用函数详解

Mysql官方帮助开发者自定义了一些常用的函数,帮助开发这处理一些特殊值,例如:时间格式化,绝对值,字符串长度,截器字符串等等。下面我们就开始讲解了,希望对大家有所帮助。注意:使用函数查询语句时,无法走索引哦。

2024-12-16 22:40:18 1094

原创 Mysql入门基础

Mysql是一个关系型数据库,用于存储数据的程序。关系型数据库除了Mysql,还有 Oracle,Sql Server等。

2024-12-13 22:32:43 703

原创 SpringBoot入门

看到这里SpringBoot入门就基本结束了,里面有些知识点并未详解(篇幅有限),例如:maven,yml文件,注解等都没详细说明,后续有时间在整理哈相关知识,再放入本文档中。在这祝大家在学习路上越战越勇,保持初心,技有所成。题外话,本次测试demo其实还有优化的地方,我放到下面整理出来,大家可以根据下面的思路进行修改源码。1、用户全量列表需要分页来提升性能,获取一次性全量表数据会对整个数据库是致命的,常见的问题,IO飙升,性能降低,负载增加等等(一千万的数据表,生产环境很正常)。

2024-12-13 15:48:37 2179

原创 JDBC详解

JDBC(Java Database Connectivity)是一个Java API,它提供了一种标准的方法,允许Java程序连接到数据库并执行SQL语句。JDBC为不同类型的数据库提供了统一的访问方式,包括关系型数据库如MySQL、Oracle、SQL Server等。事务是一组数据库操作的集合,命令组要么都执行成功,要么都失败,保证数据库数据的完整性。这是一组接口和类,它们定义了Java程序如何与数据库进行交互。JDBC API允许Java程序执行SQL语句并检索结果。它包括java.sql。

2024-12-12 23:05:28 966

原创 动态代理详解

代理模式通过引入一个代理对象来控制对原对象的访问。代理对象在客户端和目标对象之间充当中介,负责将客户端的请求转发给目标对象,同时可以在转发请求前后进行额外的处理。转化为生活中例子来讲(代购/秘书等),我们需要购买一个物品时,自己又不想动,就在网上找了一个代购的小姐姐帮忙购买,这样即拿到了商品,自己本身并没有做什么事情,可以看作是一个代理,即 将自己的权利交给其他人/秘书来做的情况,就是代理模式的一种。代理模式分为静态代理,与动态代理两种模式,我们就展开来讲讲这两种模式的区别。

2024-12-11 22:18:41 1040

空空如也

空空如也

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

TA关注的人

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