自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 后端进阶知识 MySQL为什么那么快 图文详解 之 flush 链表 与 LRU链表

元数据节点从 free 链表中取出写入数据到缓存页,如果缓存页被修改了,那么该元数据就被加入到 flush 链表,这些 flush 节点就是被修改过的数据页元数据,等待被刷入磁盘。基于 free 链表找到一块空闲的缓存页写入数据后,然后更新了这个缓存页,此时缓存页中的数据就与磁盘中的数据页不一致了,那么这个缓存页就是脏数据或者说脏页。所以这时预加载和全表扫描加载的缓存页会被放在冷数据区,而热数据区的缓存页只要被访问就会一直在热数据区,也就不会导致频繁访问的缓存页被淘汰了。可关注专栏 ====》

2022-11-24 14:05:35 534 1

原创 后端进阶知识 Buffer pool 图文详解 之 free链表

Buffer pool 是 InnerDB 存储引擎的一个重要组件,MySQL 的所有 CRUD 操作都是围绕 Buffer pool 进行的。现在只知道 Buffer pool 是一个缓冲池,里面存放了磁盘数据的缓存,那么 Buffer pool 是一个什么样的结构,是如何在 SQL 执行过程中起作用的呢?

2022-11-24 14:00:55 552

原创 MySQL 进阶 图文详解InnoDB储存引擎

SQL 语句的最终执行者是存储引擎。存储引擎在经解析器、优化器处理后被执行器调用其接口执行优化后的执行计划。MySQL 存储引擎包括 InnoDB、Myisam、Memory、Archive、CSV 存储引擎等,其中最常用也是MySQL 默认的存储引擎是 InnoDB。写入缓冲池(Buffer pool)InnoDB 中有一个非常重要的组件——缓冲池(Buffer pool),缓冲池中存储了 MySQL 在磁盘文件上的数据缓存。

2022-11-24 13:53:00 641

原创 MySQL 进阶 怎么去了解MySQL的架构原理

在了解 MySQL 原理之前,对我而言 MySQL 就是一个黑盒子,我写的SQL 语句通过服务发送给 MySQL 数据库,然后数据库就执行 SQL 语句,返回一些查询结果或做一些操作。然后就没然后了。。。再深入一点,就是知道某些 SQL 的写法会降低数据库执行效率,也就是需要所谓的 SQL 优化。但是为什么会降低执行效率呢???所以有必要了解一下 MySQL 的原理。连接池从业务 SQL 到 MySQL 真正执行的流程分析了整个 MySQL 数据库的架构。

2022-11-24 13:38:02 493

原创 MySQL系列文章 怎么去自定义读写分离

基于 druid 连接池自定义配置做一主多从的读写分离配置,做读写分离的前提是数据库集群已做好主从同步配置。这里直接把配置的数据源信息读取到,由 druid 创建 DataSource 数据源,托管数据库连接。每个连接的建立都保存在当前线程中,这里把 DataSource 分为 Master 和 Slave,在后面配置的 AOP 拦截可以选择不同的数据源。但也有特例,需要强制选择 Master 库,所以配置了根据 @Master 注解主动选择数据源。这里配置 druid 监控平台。配置 druid 监控。

2022-11-24 13:30:47 72

原创 HashMap 滚瓜烂熟 ConcurrentHashMap支支吾吾

总结一下在 Java 7 中 ConcurrnetHashMap 的初始化逻辑。必要参数校验。校验并发级别 concurrencyLevel 大小,如果大于最大值,重置为最大值。无参构造默认值是 16.寻找并发级别 concurrencyLevel 之上最近的 2 的幂次方值,作为初始化容量大小,默认是 16。记录 segmentShift 偏移量,这个值为【容量 = 2 的N次方】中的 N,在后面 Put 时计算位置时会用到。默认是 32 - sshift = 28.

2022-11-04 18:21:22 299

原创 成长计划 巩固篇」Switch 支持的数据类型结合枚举怎么使用

即使state不为3和4,因为2中匹配后没有break,则后续代码则不会进行case判断,直到遇到break为止。1、 case 里面必须跟 break,不然程序会一个个 case 执行下去,直到最后一个 break 的 case 或者 default 出现。我们经常在编码存在不同判断的情况 switch 也经常和一些基础类型和包装类型一起去使用 但是为了方便管理我们也可以使用枚举。基本数据类型和字符串很简单不用说,下面举一个使用包装类型和枚举的,其实也不难,注意只能用在 switch 块里面。

2022-11-04 18:18:25 310

原创 Mybatis-Plus 使用技巧与隐患

MP 从出现就一直有争议 感觉一直 都存在两种声音转载个人掘金地址很方便啊 通过函数自动拼接Sql 不需要去XML 再去使用标签 之前一分钟写好的Sql 现在一秒钟就能写好 简直不要太方便侵入Service层 不好维护 可读性差 代码耦合 效率不行 sql优化比较难之前也有前辈说少用MP 理由就是不好维护 但是这个东西真的是方便 只要不是强制不让用 就还是会去使用 存在集合里 最近也确实有一些体会 就从两个角度去看一下MPMP 在做一些简单的单表查询可以去使用但是对于一些复杂的SQl操作还是不要用。

2022-11-04 18:16:45 808 2

原创 那些年被面试官问过的原理 Nacos

在我感觉面试还不错的时候 面试官总会冒出 你能说一下 XXX 的原理是什么吗? 怎么实现的你有读过源码吗? 能大概讲一下吗? 我当时的表情尤其是简历上有微服务经验的时候各种原理就出来 会慢慢整理Nacos是微服务架构中的注册中心和配置中心,其他服务的服务信息(ip,端口等信息)可以注册到nacos服务端。nacos又为客户端提供了服务发现的功能。客户端会开启一个定时任务,定时向服务端获取最新的服务列表,加载到客户端本地缓存。客户端同时又开启一个定时心跳发送的任务,用于告知服务端,当前服务的健康状态。服务端启

2022-10-12 13:13:16 575

原创 另一层次去看final

按照final修饰的数据类型分类:final域写:禁止final域写与构造方法重排序,即禁止final域写重排序到构造方法之外,从而保证该对象对所有线程可见时,该对象的final域全部已经初始化过。final域读:禁止初次读对象的引用与读该对象包含的final域的重排序。额外增加约束:禁止在构造函数对一个final修饰的对象的成员域的写入与随后将这个被构造的对象的引用赋值给引用变量 重排序。

2022-09-30 10:45:00 441

原创 nodeKey is required in setCurrentKey已解决

在 Vue Tree 使用的过程中出现了 这个错误。

2022-09-21 15:04:58 588

原创 2022年 你会用AOP了没?

aop 基本都是理论背的呱呱熟 但是不会写 整理一下怎么去实现AOP日志功能 简单易上手。

2022-09-21 12:12:18 41

原创 怎么使用泛型让代码 简洁 健壮 高级 万字详解

从一个简单的泛型类看起:// 此处可以随便写标识符号,T是type的简称 private T var;// var的类型由T指定,即:由外部指定 public T getVar() {// 返回值的类型由外部决定 return var;// 设置的类型也由外部决定 this . var = var;// 里面的var类型为String类型 p . setVar("it");// 设置字符串 System . out . println(p . getVar() . length());

2022-09-19 21:18:05 450

原创 vue 中 父子组件值交互怎么使用 this.$emit

子组件 传值到父组件 使用 this.$emit(‘父组件方法名’)父组件一般通过 @ this.emit("这个名称")进行获取值例如子组件是this.emit("这个名称") 进行获取值 例如 子组件是 this.emit("这个名称")进行获取值例如子组件是this.emit(‘test’). 父组件 就是@test=“方法名”父组件传参数使用 :参数名:“参数“

2022-09-19 17:24:55 346

原创 集合源码解析: Stack and Queue精讲

集合的重要程度很高 如果不能全面了解 就没法完全发挥它的作用Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。

2022-09-18 12:51:52 1158

原创 集合源码解析:LinkedList 精讲

LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直就是个全能冠军。当你需要使用栈或者队列时,可以考虑使用LinkedList,一方面是因为Java官方已经声明不建议使用Stack类,更遗憾的是,Java里根本没有一个叫做Queue的类(它是个接口名字)。关于栈或队列,现在的首选是ArrayDeque,它有着比。

2022-09-18 09:26:00 1117

原创 源码解析篇:ArrayList精讲

ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添加元素时,如果容量不足,容器会自动增大底层数组的大小。前面已经提过,Java泛型只是编译器提供的语法糖,所以这里的数组是一个Object数组,以便能够容纳任何类型的对象。

2022-09-18 09:03:46 1229

原创 分布式进阶 如何对序列化实现工具进行正确选型?

网络通信涉及到数据的有效传输,这就需要引入另一个技术组件,即。而目前关于如何实现序列化和反序列化,业界也诞生了一大批工具和框架。那么,序列化是一种什么样的技术组件?我们又应该如何对种类繁多的序列化实现工具进行正确选型呢?

2022-09-18 08:49:41 1753

原创 查漏补缺 二十“勇士” 冲击SQL优化

sql 优化应该是我们日常的一种习惯 不能说每次都优化到极致 但是一些基础的优化还是要会的。不然到时候被别人嘲笑就很尴尬,争取不要上慢Sql列表 一个良好的编码习惯还是很有帮助的。

2022-09-08 11:27:08 1539

原创 产品说接口返回数据需要脱敏 只能安排

产品提的需求 怎么能拒绝

2022-09-07 11:14:51 723

原创 一点点进步 从 @SpringBootApplication 入手,去了解 Spring 注解驱动编程

几乎所有的 Spring Boot 应用都会在启动类上添加,可以说它是 Spring Boot 应用最核心的注解了。Spring Boot 基于,也不例外,这篇希望在理解的基础上将Spring注解的内容进行串联,以便达到融会贯通的效果。

2022-09-07 10:10:06 1561

原创 深造分布式 打败面试官 招式三 直捣黄龙

我唤醒大海唤醒山脉我唤醒沙漠处处充满色彩美丽的地方开心往前飞就算有亿万公里一吨行李我们不放弃前进需要勇气一直往前飞最重要开心就好忘记烦恼宇宙很大任飞翔满载欢乐回航闯一闯让我们闯一闯我们志气要比天还高云啊轻轻飘过来梦中轮廓一点点透露出来飞吧飞吧飞过黎明和夜晚啦啦啦啦风啊轻轻吹过来梦想翅膀流星天空中划过穿越时空回到那梦想的地方

2022-09-05 13:35:53 2118

原创 深造分布式 打败面试官 招式二 新手上路

面试官: 用过微服务吗?我: 用过用过 嘿嘿面试官: 看你写的熟悉 那就问一些问题面试官: 那你说一下 微服务的组件有哪些我:这个我会 Nacos getway … 😊面试官:构建一个微服务 那些是必须的 哪些通用的?我:🤔 注册中心,服务网关 ,远程调用,配置中心,链路跟踪 呃 差不多是这些面试官: 如果想实现一套远程过程调用机制,你会重点设计哪几个技术组件?我:呃 都是架构师设计 我拧螺丝的 不太清楚面试官。

2022-09-04 15:56:57 1633

原创 深造分布式 打败面试官 招式一 小试牛刀

无论是传统系统、还是互联网应用,分布式无疑是当下软件设计和实现的主流技术体系。围绕分布式系统(Distributed System)的基本概念以及实现方式,开发人员需要掌握一系列对应的技术组件。另一方面,我们也需要认识到分布式系统的诞生并不是一蹴而就的,而是从传统的单体系统(Monolith System)发展和演进而来。可以认为,分布式系统是对单体系统的一种改进,但这种改进同样也带来了复杂度和实现难度。

2022-09-02 19:45:03 2367

原创 免费域名 让别人能访问你的网站

我们有时候有一些自己的项目 想要 别人看到 但是又不知道怎么做 花钱买服务器就有点没必要 毕竟我们就是练手玩 这个时候就想要看到免费两个字 能够让外部访问项目的方法 同时难度不高的 统称为内网穿透。

2022-09-02 10:17:17 135

原创 一周深度学习一个知识--事务类内部调用失效 学习总结篇

超详细因为 @Transactional 的工作机制是基于 实现,AOP 是使用动态代理实现的,如果通过代理直接调用 方法,通过 AOP 会前后进行增强,增强的逻辑其实就是在 方法 的前后分别加上开启、提交事务的逻辑 但是如果调用方没增加事务控制 被调用方增加 那就会造成 调用方没有AOP增强 出现异常事务也就监控不到了例子:这种情况下事务不会生

2022-09-02 09:08:21 1381

原创 一周时间深扒事务 总结代码演示篇 拿捏事务

事务在开发中非常重要 我们要尽量减少事务出错的可能性

2022-09-02 09:07:42 2062

原创 for 循环的使用历程 不同for循环的优势

for循环 忠诚的伙伴

2022-08-19 11:05:34 1261

原创 npm does not support Node.js v12.6.0 You should probably upgrade to a newer version of node as we

npm 运行报错 npm does not support Node.js v12.6.0You should probably upgrade to a newer version of node as wecan't make any promises that npm will work with this version.You can find the latest version at https://nodejs.org/

2022-08-09 10:22:41 686

原创 闭着眼都能学会的Excel导出 新手教程版java

闭眼就能用的 Excel 导出教程

2022-08-08 15:49:35 1190

原创 npm ERR! rofs EROFS: read-only file system, access ‘/‘ npm ERR! rofs Often virtualized file systems,

npm ERR! rofs EROFS: read-only file system, access '/'npm ERR! rofs Often virtualized file systems, or other file systemsnpm ERR! rofs that don't support symlinks, give this error.

2022-07-27 18:08:36 260

原创 zsh: command not found: nvm

zsh: command not found: nvm。 问题

2022-07-27 11:08:38 508 1

原创 降低node/npm 到指定版本(Mac)详细教程

node /npm 降低到指定版本

2022-07-27 11:04:37 2501

原创 Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

2022-07-22 16:49:19 157

原创 element-ui. Cascader Cannot read properties of null (reading ‘level‘) 出现异常

项目的前提是重复使用Cascader这个组件出现问题因为重复渲染同一个组件 重复的给一个组件的options 进行赋值。会出现第一次的效果是正确的。但是后面的就出现效果偏差。报错。增加一个key 当作表示 在进行新options赋值就进行新增操作data 里面默认值为零进行监听进行key值的修改操作完美解决...

2022-06-17 13:55:38 232

原创 五分钟小知识-----java编码中的18个好习惯有你常用的吗?

1.定义配置文件信息有时候我们为了统一管理会把一些变量放到 yml 配置文件中例如:developer: name:hugh website:https://blog.csdn.net/weixin_44994494?spm=1010.2135.3001.5421 qq:2496760580 phone-number:11111111@Value 单个@ConfigurationProperties 多个使用方法:@Data // 指定前缀 也就是你yml里面配置的东西

2022-04-09 12:01:25 782

原创 五分钟小知识---高手怎么回答分布式锁这个问题

分布式锁分布式锁的理解和实现正常回答高手的回答关系型数据库redis分布式锁Zookeeper (CP型组件)公平锁什么是可重入锁呢?ZooKeeper分布式锁的原理分布式锁的理解和实现正常回答分布式锁计师它可以具备这种跨进程的锁的一个分布性,也就是说我们以前传统的那种锁,像线程级别的锁只能锁住单个线程,多个线程但是线程他是属于进程范围内的所以如果我想就是在整个的分布式架构下锁定多个进程对某个资源的访问情况下,那跨进程的这种锁的话,单线程下是没有办法进行实现的,所以需要使用到分布式锁进行操作,然后

2022-04-08 20:56:35 1253 1

原创 Node Sass version 7.0.0 is incompatible with ^4.0.0

卸载npm uninstall node-sass安装安装sass 不要安装 node-sassnpm i -D sass

2022-04-08 14:50:36 247

原创 三分钟小知识-----开发常用List去重方案

List去重非对象(String)Streamset对象(Object)set去重stream 去重对象直接就看最常用简洁的方案非对象(String)Stream public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("111"); list.add("222"); list.ad

2022-04-07 14:26:19 1361

原创 五分钟小知识---常用分布式事务

分布式事务本地事务在分布式事务下的问题CAP理论C 一致性(强一致性)A 可用性P 分区容错性BASE理论可以从三个方面讲基本可用软状态最终一致性分布式事务常见解决方案2pc模式也称为XA二阶段提交协议第一阶段主要分为3步第二阶段:提交/执行阶段(成功流程)第二阶段:提交/执行阶段(异常流程)2PC缺点性能问题单节点故障MQ事务本地事务在分布式事务下的问题其实就是本地事务只能控制住自己,反正他妈的一旦出现一个微服务里面调两个微服务的情况就会产生这种问题,因为一旦远程调用出现了网络延迟,或者宕机,他直接

2022-03-30 17:25:05 1762

用于实现钉钉消息发送的sdk包

免费 无敌

2022-03-25

空空如也

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

TA关注的人

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