自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

F-T-er

F-T-er

  • 博客(343)
  • 收藏
  • 关注

原创 第05-3节:加载流程原理介绍(Done)

用户进入linux系统就会初始化Shell环境, 这个环境会加载全局配置文件和用户个人配置文件中环境变量每个脚本文件都有自己的Shell环境。

2024-09-27 10:44:18 363

原创 [001-03-007].第28节:SpringBoot整合Redis:

1.Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。2.它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。3.Redis 内置了 复制(replication),LUA脚本(Lua scripting)

2024-09-26 15:43:25 416

原创 [000-002-01].第29节:MySQL数据库缓冲池

以页为单位。

2024-09-24 11:30:33 874

原创 [000-002-01].第29节:MySQL执行流程

1.Server 如果在查询缓存中发现了这条 SQL 语句,就会直接将结果返回给客户端;2.如果没有命中缓存,就进入到解析器阶段3.注意:因为查询缓存往往效率不高,所以在MySQL8.0 之后就抛弃了这个功能。在解析器中对 SQL 语句进行语法分析、语义分析1.如果没有命中查询缓存,就要开始真正执行语句了。首先,MySQL需要知道你要做什么,因此需要对SQL语句做解析。SQL语句的分析分为词法分析与语法分析。2.分析器先做“ 词法分析 ”。

2024-09-24 11:28:42 1034

原创 [000-01-008].Seata是什么

Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。

2024-09-23 09:53:22 269

原创 [001-008-04].XXL-JOB是什么

1.XXL-Job:是大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展2.大众点评目前已接入XXL-JOB,该系统在内部已调度约100万次,表现优异。3.目前已有多家公司接入xxl-job,包括比较知名的大众点评,京东,优信二手车,360金融 (360),联想集团 (联想),易信 (网易)等等4.官网地址。

2024-09-22 00:20:17 582

原创 [001-008-04].分片使用

【代码】[001-008-04].分片使用。

2024-09-22 00:18:50 437

原创 XXL-JOB环境搭建

至此“调度中心”项目已经部署成功。

2024-09-22 00:17:48 1064

原创 [001-02-001].第2节:java开发环境搭建

dir : 列出当前目录下的文件以及文件夹md: 创建目录rd: 删除目录(需要目录是空的才可以删除也可以这样删除非空目录test:首先删除非空目录下的所有文件:即del test;然后选择yes;rd test;cd : 进入指定目录cd..: 退回到上一级目录cd\: 退回到根目录del : 删除文件;如del *.text;del a.text;exit : 退出 dos 命令行1.第一代语言:机器语言。指令以二进制代码形式存在。2.第二代语言:汇编语言。

2024-09-21 17:57:56 1225

原创 [021-07].第08节:Elasticsearch的RestClient查询文档

2.上述代码省略了查询条件部分,但是大家不要忘了:高亮查询必须使用全文检索查询,并且要有搜索关键字,将来才可以对关键字高亮。

2024-09-21 14:08:22 1120

原创 [001-01-001].第001-2部分:Linux相关-Shell脚本必会

第01节:什么是Shell第02节:Shell基本功能。

2024-09-20 12:58:29 387

原创 [001-01-001].第001-3部分:Linux相关-服务运维必会(ToDo)

阶段4 - 阶段7是更偏向运维的使用,在后续的学习中慢慢补充完整。

2024-09-20 12:57:47 405

原创 # 5、优化数据库结构

一个好的数据库设计方案对于数据库的性能常常会起到事半功倍的效果。合理的数据库结构不仅可以使数据库占用更小的磁盘空间,而且能够使查询速度更快。数据库结构的设计需要考虑数据冗余、查询和更新的速度、字段的数据类型是否合理等多方面的内容。

2024-09-14 09:27:32 910

原创 9.如何给字符串添加索引

有一张教师表,表定义如下:12345讲师要使用邮箱登录,所以业务代码中一定会出现类似于这样的语句:1如果 email 这个字段上没有索引,那么这个语句就只能做全表扫描。9.1.前缀索引(1)MySQL是支持前缀索引的。默认地,如果你创建索引的语句不指定前缀长度,那么索引就会包含整个字符串。

2024-09-14 08:53:09 425

原创 # 8.优先考虑覆盖索引

这里需要解释一下,前面的第 2 节总结的索引失效的情况指的是一般规律,并非完全绝对的。InnoDB 是以聚集索引的顺序来存储的,对于 InnoDB 来说,二级索引在叶子节点中所保存的是行的主键信息,如果是用二级索引查询数据,在查找到相应的键值后,还需通过主键进行二次查询才能获取我们真实所需要的数据。由于覆盖索引是按键值的顺序存储的,对于 I/O 密集型的范围查找来说,对比随机从磁盘读取每一行的数据 I/O 要少的多,因此利用覆盖索引在访问时也可以把磁盘的随机读取的 I/O 转变成索引查找的顺序 I/O。

2024-09-14 08:52:35 405

原创 10.索引下推

10.1.什么是索引下推?(1)索引下推 (Index Condition Pushdown, ICP) 是 MySQL 5.6 中新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式。(2)如果没有 ICP,存储引擎会遍历索引以定位基表中的行,并将它们返回给 MySQL 服务器,由 MySQL 服务器评估 WHERE 后面的条件是否保留行。

2024-09-14 08:49:45 482

原创 其它查询优化策略

12.1.EXISTS 和 IN 的区分问题:不太理解哪种情况下应该使用 EXISTS,哪种情况应该用 IN。选择的标准是看能否使用表的索引吗?回答:索引是个前提,其实选择与否还是要看表的大小。你可以将选择的标准理解为小表驱动大表。在这种方式下效率是最高的。① 当 A 小于 B 时,用 EXISTS。② 当 B 小于 A 时用 IN,因为实现的逻辑类似于:for i in Bfor j in A123哪个表小就用哪个表来驱动,A 表小就用 EXISTS,B 表小就用 IN。

2024-09-14 08:47:25 337

原创 淘宝数据库的主键是如何设计的?

聊一个实际问题:淘宝数据库的主键是如何设计的?某些错的离谱的答案还在网上年复一年的流传着,甚至还成为了所谓的 MySQL 军规。其中,一个最明显的错误就是关于 MySQL 的主键设计。大部分人的回答如此自信:用 8 字节的 BIGINT 做主键,而不要用 INT。错!这样的回答,只站在了数据库这一层,而没有从业务的角度思考主键。主键就是一个自增 ID 吗?用自增做主键,架构设计上可能连及格都拿不到!

2024-09-14 08:46:09 965

原创 [000-002-01].排序优化

问题:在 WHERE 条件字段上加索引,但是为什么在 ORDER BY 字段上还要加索引呢?回答:在 MySQL 中,支持两种排序方式,分别是 FileSort 和 Index 排序:① 在 lndex 排序中,索引可以保证数据的有序性,不需要再进行排序,效率更高。② FileSort 排序则一般在内存中进行排序,占用 CPU 较多。如果待排结果较大,会产生临时文件 I/O 到磁盘进行排序的情况,效率较低。

2024-09-14 08:42:56 753

原创 子查询优化

(1)MySQL 从 4.1 版本开始支持子查询,使用子查询可以进行 SELECT 语句的嵌套查询,即一个 SELECT 查询的结果作为另一个 SELECT 语句的条件。① 执行子查询时,MySQL 需要为内层查询语句的查询结果建立一个临时表,然后外层查询语句从临时表中查询记录。连接查询不需要建立临时表,其速度比子查询要快,如果查询中使用索引的话,性能就会更好。② 子查询的结果集存储的临时表,不论是内存临时表还是磁盘临时表都不会存在索引,所以查询性能会受到一定的影响。但是子查询的执行效率不高。

2024-09-14 08:28:49 243

原创 第5章:隔离和降级

线程隔离(仓壁模式)降级熔断在application.yml中配置:feign.sentienl.enable=true给FeignClient编写FallbackFactory并注册为Bean将FallbackFactory配置到FeignClient线程隔离的两种手段是?信号量隔离线程池隔离信号量隔离的特点是?基于计数器模式,简单,开销小线程池隔离的特点是?基于线程池模式,有额外开销,但隔离控制更强默认情况下,发生限流、降级、授权拦截时,都会抛出异常到调用方。

2024-09-13 20:46:36 785

原创 Sentinue功能-流控规则:

雪崩问题虽然有四种方案,但是限流是避免服务因突发的流量而发生故障,是对微服务雪崩问题的预防。1.当请求进入微服务时,首先会访问DispatcherServlet,然后进入Controller、Service、Mapper,这样的一个调用链就叫做簇点链路2.簇点链路中被监控的每一个接口就是一个资源3.默认情况下Sentinel会监控SpringMVC的每一个端点(Endpoint,也就是controller中的方法4.流控、熔断等都是针对簇点链路中的资源来设置的。

2024-09-13 20:44:13 784

原创 [000-01-008].第08节:Sentinel 环境搭建

【代码】[000-01-008].第08节:Sentinel 环境搭建。

2024-09-13 20:42:39 914

原创 [000-01-008].第05节:OpenFeign高级特性-日志打印功能

【代码】[000-01-008].第05节:OpenFeign高级特性-日志打印功能。

2024-09-13 20:36:35 421

原创 [000-01-008].第05节:OpenFeign高级特性-请求/响应压缩

【代码】[000-01-008].第05节:OpenFeign高级特性-请求/响应压缩。

2024-09-13 20:25:52 326

原创 [000-01-008].第05节:OpenFeign高级特性-默认HttpClient修改

只是为了更快的看到效果,所以说就注释了重试机制,此配置不是必须的。

2024-09-13 20:20:44 257

原创 [000-01-008].第05节:OpenFeign高级特性-超时控制

1.默认OpenFeign客户端等待60秒钟,但是服务端处理超过规定时间会导致Feign客户端返回报错。为了避免这样的情况,有时候我们需要设置Feign客户端的超时控制,默认60秒太长或者业务时间太短都不好2.yml文件中开启配置::连接超时时间:请求处理超时时间。

2024-09-13 20:08:26 301

原创 [000-01-008].第05节:OpenFeign特性-重试机制

报错只是打印了一个最终的结果,而不是调用一次打印一次日志,感觉效果不明显,

2024-09-13 20:06:41 493

原创 [000-01-008].第01节:什么是OpenFeign

OpenFeign它。

2024-09-13 17:47:03 355

原创 [001-02-001]. 第07-01节:线程的通信

1.在当前线程中调用方法:对象名.wait()2.使当前线程进入等待(某对象)状态 ,直到另一线程对该对象发出 notify (或notifyAll) 为止。3.调用方法的必要条件:当前线程必须具有对该对象的监控权(加锁)4.调用此方法后,当前线程将释放对象监控权 ,然后进入等待5.在当前线程被notify后,要重新获得监控权,然后从断点处继续代码的执行。

2024-09-13 00:11:32 262

原创 [001-02-001]. 第07-02节:线程的创建与使用

1.start():启动当前线程;调用当前线程的run()2.run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中3.:是个静态方法,返回执行当前代码的线程4.getName()获取当前线程的名字5.setName()设置当前线程的名字6.yield():释放当前cpu的执行权7.join():在线程a中调用线程b的join(),此时线程a就进入阻塞状态,直到线程b完全执行完以后,线程a才结束阻塞状态。8.stop():已过时。当执行此方法时,强制结束当前线程。

2024-09-12 22:46:51 689

原创 [001-02-001]. 第07-03节:理解线程的安全问题

1.不同的线程分别占用对方需要的同步资源不放弃都在等待对方放弃自己需要的同步资源,就形成了线程的死锁2.出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续。

2024-09-12 22:43:22 860

原创 [001-02-001]. 第07-02节:线程的生命周期

【代码】[001-02-001]. 第07-02节:线程的生命周期。

2024-09-12 22:27:45 296

原创 第15-02章:理解Class类并获取Class实例

在运行阶段,通过调用运行时类的对象,通过。在加载阶段,通过调用运行时类的属性。根据下图类加载的过程,我们。通过Class的静态方法。类加载(4种加载器)也继承Object类。

2024-09-12 16:42:42 849

原创 第15-05章:获取运行时类的完整结构

【代码】第15-05章:获取运行时类的完整结构。

2024-09-12 16:41:07 683

原创 【无标题】

1.有了Class对象之后,去创建类的对象时候,在调用Class对象的方法,有两项要求:1)类必须有一个无参数的构造器;2)类的构造器的访问权限需要足够。

2024-09-12 16:39:29 363

原创 第15-07章:Java反射机制的应用场景

代理对象目标对象调试和远程方法调用。

2024-09-12 16:37:24 330

原创 第15-03章:类的加载与ClassLoader的理解

可以按要求查找类。

2024-09-12 16:36:04 427

原创 [001-03-007].第26节:分布式锁迭代3->优化基于setnx命令实现的分布式锁-防锁的误删

(如LUA脚本实现)

2024-09-11 17:06:10 456

原创 [001-03-007].第26节:分布式锁迭代2->优化基于setnx命令实现分布式锁

自旋。

2024-09-11 16:36:32 263

分布式调度XXL-JOB

分布式调度XXL-JOB

2024-07-19

022-03.乐尚代驾-开发环境搭建-业务流程图

本项目的业务流程图

2024-07-16

004.第4节.在Linux上部署各类软件

004.第4节.在Linux上部署各类软件

2024-06-15

项目模型中的逻辑模型设计

项目模型中的逻辑模型设计

2024-06-12

空空如也

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

TA关注的人

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