自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven - Plugins报错的正确解决之道

接着回到IDEA点击Maven刷新按钮重新加载即可:已解决。

2024-02-18 21:24:02 627 1

原创 《Git学习笔记:IDEA整合Git》

1)依次选择菜单【VCS】---【Import into Version Control】---【Create Git Repository】,所以为了进一步方便操作,在IDEA的工具栏中提供了提交操作的快捷按钮。1)在IDEA开始窗口中点击【Get from VCS】【Update Project】 :从远程仓库拉取。2)在弹出的【Get from VCS】窗口中。,点击【Clone】按钮进行仓库克隆操作。,所以在IDEA的状态栏中提供了。2)查看某个文件的提交日志。在IDEA中通过如下操作可以。

2024-01-14 23:20:54 1201

原创 《Git学习笔记:Git入门 & 常用命令》

Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理,通过Git仓库来存储和管理这些文件,Git仓库分为两种:指的是存储在各个开发人员自己本机电脑上的Git仓库指的是远程服务器上的Git仓库commit:提交,将本地文件和版本信息保存到本地仓库push:推送(上传),将本地仓库文件和版本信息上传到远程仓库pull:拉取(下载),将远程仓库文件和版本信息下载到本地仓库。

2024-01-11 00:12:48 669

原创 Redis内存策略:「过期Key删除策略」+ 「内存淘汰策略」

redisObject结构体当中的lru就是记录最近一次访问时间和访问频率的,以低8位无符号数字来记录逻辑访问次数。逻辑访问次数又是怎么回事呢?8位无符号数字最大才255,访问次数超过255怎么办?

2024-01-07 14:51:05 1073 1

原创 Redis网络模型

Client客户端向Server服务端发送一条命令服务端解析并执行命令,返回响应给客户端因此客户端发送命令的格式、服务端响应结果的格式必须有一个规范,这个规范就是通信协议。

2024-01-06 22:38:24 1074

原创 Redis数据结构

Redis是怎么实现键值对(Key-Value)数据库的?

2024-01-06 00:41:19 880

原创 分布式系统的一致性模型

如果只用一台数据库来处理所有的写入和读取请求,就一定不存在数据一致性的问题,但是在中大型项目中,我们却经常需要将一份数据存储在超过一台数据库中(即。

2024-01-04 13:12:16 375

原创 Redis实现分布式锁

1. 为什么需要分布式锁?我们都知道,以上情况,,此时就2. 单机锁 & 分布式锁的定义:3. 分布式锁应该具备哪些条件?4. 分布式锁都有哪些主流的实现方案?分布式锁的核心是实现多线程之间互斥,而满足这一点的方式有很多,常见的有三种:补充:Zookeeper实现分布式锁的思路实现分布式锁的核心思路5. 如何用 Redis 实现分布式锁的?Redis本身可以被多个客户端访问,正好就是一个共享存储系统,可以用来保存分布式锁,而且Redis的读写性能高,可以应对高并发的锁操作场景。

2024-01-03 21:04:49 600

原创 Redis的集群模式:主从 & 哨兵 & 分片集群

Redis Cluster是Redis中推荐的分布式集群解决方案,它将数据自动分片到多个节点上,每个节点负责一部分数据。Redis Cluster采用主从复制模式来提高可用性,每个分片都有一个主节点和多个从节点主节点负责处理写操作,而从节点负责复制主节点的数据并处理读请求。Cluster模式的特点是数据分片存储在不同的节点上,每个节点都可以单独对外提供读写服务,不存在单点故障的问题。

2024-01-01 20:28:38 1310

原创 《Spring Cloud学习笔记:分布式事务Seata》

解决分布式事务的方案有很多,但实现起来都比较复杂,因此我们。

2023-12-30 20:00:12 488

原创 《分布式事务理论基础:CAP定理 & BASE理论》

学习目标。

2023-12-29 22:46:49 544 1

原创 《Spring Cloud学习笔记:微服务保护Sentinel + JMeter快速入门》

Sentinel阿里巴巴开源的一款微服务流量控制组件,是阿里巴巴开源的一款服务保护框架,目前已经加入SpringCloudAlibaba中,阿里开源的流量防卫兵Sentinel。随着微服务的流行,服务和服务之间的稳定性变得越来越重要,Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

2023-12-27 00:45:14 1139

原创 《Spring Cloud学习笔记:Nacos配置管理 & OpenFeign & LoadBalancer & Getway》

其作用就是帮助我们优雅的实现HTTP请求的发送,它让微服务之间的调用变得简单了,类似Controller调用Service~!OpenFeign是一个声明式的HTTP客户端,是Spring Cloud在Eureka公司开源的Feign基础上改造而来其作用就是基于SpringMVC的常见注解,帮我们优雅的实现http请求的发送,而Feign本身是不支持Spring MVC注解的,它有一套自己的注解~!OpenFeign快速入门OpenFeign已经被Spring Cloud自动装配。

2023-12-23 20:03:38 1015

原创 String类的hashCode()方法源码分析

编译期间,字符串的最大长度不能超越65535个字节,即编译期间的String字符串的最大长度为65534个字节,不然就会编译报错。运行期间,String的最大长度就要看Integer.MAX_VALUE的值了,即:2^31 - 1个字节。不管怎样,String的最大长度就不能超过虚拟机当前最大内存设置。

2023-12-16 00:52:39 990

原创 配置Java环境变量不生效的解决办法

在使用安装版本的JDK程序时,在安装结束后会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Program Files(x86)\Common Files\Oracle\Java\javapath目录,这个目录在Windows环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,所以直接更改JAVA_HOME的JDK安装路径会失效!C:\Program Files(x86)\Common Files\Oracle\Java\javapath目录即可!

2023-11-21 12:17:50 546

原创 《Spring Cloud学习笔记:Eureka & Nacos Discovery & Ribbon》

服务治理中的三个角色在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引入了。

2023-11-14 23:31:36 223

原创 Docker项目部署

我们已经熟悉了Docker的基本用法,接下来可以尝试部署项目了。

2023-11-13 22:15:39 639

原创 Docker基础

举个例子,

2023-11-11 23:35:34 904

原创 Docker快速入门

1. 快速入门要想让Dockert帮我们安装和部署软件,首先要保证你的机器上有Docker,我们可以在CentOS的虚拟机中安装Docker。

2023-11-11 22:57:34 620

原创 MyBatis-Plus

MyBatis-Plus的官方网站: MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/ MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变(无侵入,不修改源代码也无妨),为简化开发,提高效率而生。MyBatis-Plus的愿景是成为MyBatis最好的搭档,就像魂斗罗中的1P、2P,基友搭配,效率翻倍!大家在日常开发当中应该能够发现,单表的CRUD功能代码重复度很高,也没有什么难度,而这部分代码量往

2023-11-11 00:28:30 722

原创 服务异步通讯:消息中间件 - RocketMQ基础

RocketMQ是阿里开源的一款非常优秀的中间件产品,脱胎于阿里的另一款队列技术MetaQ,后捐赠给Apache基金会作为一款孵化技术仅仅经历了一年多的时候就成为了Apache基金会的顶级项目,它现在已经在阿里内部被广泛的应用,并且经受住了多次双十一的这种极致场景的压力!(2017年的双十一,RocketMQ流转的消息量达到了万亿级,峰值TPS达到了5600万)RocketMQ解决了MQ的所有缺点~!RocketMQ的工作原理生产者集群来进行发消息。

2023-11-09 23:39:39 229

原创 Apache RocketMQ - 概述

即便是在双十一的极限流量下面,RokcetMQ的写消息的延迟也是非常低的;,它可以保障交易的上下游业务对于订单状态达到最终的一致,于是这个方案也成为了现在异步消息一致性方案的事实标准,被多个互联网公司所采纳。2022年,RocketMQ 5.0的正式版发布,相比于4.0版本而言,架构走向云原生化,并且覆盖了更多的业务场景。另一方面的话,传统的消息队列它没办法解决电商交易对于分布式一致性的要求。操作系统、数据库、中间件是基础软件的三驾马车,而消息队列是其中最经典的中间件之一,已经有30多年的历史了。

2023-11-09 14:16:01 137

原创 初识微服务技术栈

导学:单体架构:将业务的所有功能都集中在一个项目中开发,打成一个包去部署。优点:缺点:分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务,说白了就是按照业务垂直划分,每个业务都是单体架构,通过API互相调用。 优点:缺点:人们需要指定一套行之有效的标准来约束分布式架构,因此就出现了微服务~! 优点:缺点:单一职责:微服务的拆分粒度更小,每一个服务都对应唯一的业务能力,每个服务都围绕着具体业务进行构建,做到单一职责,避免重复业务开发面向服务:微服务要对外暴露业务接口(这样服务

2023-11-06 23:48:15 857

原创 Redis持久化与一致性解决方案「面试必问」

RDB持久化的执行时机。

2023-11-05 20:15:32 268

原创 在Java中操作Redis

Spring Data Redis是Spring的一部分,提供了在Spring应用中通过简单的配置就可以访问Redis服务,对Redis底层开发包进行了高度封装,在Spring项目中,可以使用Spring Data Redis来简化Redis操作。Spring Data Redis的使用方式:Spring Boot整合RedisLombok + Spring Web(Web开发的起步依赖) + Spring Data Redis(Acess+Driver) => 在NoSQL里面勾选。

2023-11-04 00:07:02 311

原创 数据结构基础 & 手写ArrayList & 手写Hash Table

在计算机科学中,数据结构是一种数据组织、管理和存储的格式,它可以帮助我们实现对数据高效的访问和修改,更准确的说,数据结构是数据值的集合,它可以体现数据值之间的关系,以及可以对数据进行应用的函数或操作!

2023-10-30 19:06:21 549

原创 Lambda表达式与“::“方法引用 & 判空包装类Optional

Lambda表达式与"::"方法引用。判空包装类 - Optional。

2023-10-30 18:26:35 258

原创 Redis高级数据类型

BitMap通过最小的单位bit来进行0|1的设置,bit是计算机中最小的单位,操作位的概念,提供了操作位的功能,能够对位进行操作,提高内存的使用率,使得实际的存储空间得到很大的压缩,特别适合一些数据量大且使用。由于HyperLogLog的统计规则是基于概率完成的,所以HyperLogLog提供了不准确的去重技术方案,它的标准误差率只有0.81%。需要注意的是,BitMap在Redis中的存储空间占用较小,计算速度较快,但是。Redis中的BitMap是怎么实现的?2. BitMap - 位图。

2023-10-25 16:26:09 99

原创 MySQL的各种锁

1. MySQL有遇到过死锁的问题吗?

2023-10-14 15:19:04 226 1

原创 MySQL查漏补缺

1. UNION和UNION ALL:

2023-10-14 11:49:37 249

原创 Navicat For MySQL使用指南

勾选填充零后的效果,就是不够的位数用零来补齐!

2023-10-13 23:33:57 418

原创 MySQL日志梳理 & MySQL主从同步原理

MySQL 5.7:MTS - 并行复制原理。

2023-10-10 16:48:15 126

原创 深入解析InnoDB事务

关闭自动提交事务(一般不会关闭...)不能回滚的语句(来自官网原语)查询是否开启自动提交事务。SavePoint回滚点。

2023-10-07 20:38:10 252

原创 InnoDB索引机制

所以Buffer-Pool提升了性能,尽可能的减少跟磁盘的实时IO。因为我内存更改了以后,我所有的数据是异步同步到磁盘的。有了Buffer-Pool以后,每次查询数据,先去内存查,如果没有,那么再去从磁盘读取,读取后,放到内存。SQL语句查询一般要求不能超过10毫秒或者20毫秒,如果超过就是进行优化。导学:索引什么时候失效?count(1)、count(*) 与 count(字段/列名) 的区别。那么InnoDB存储引擎的数据怎么存的呢?索引的作用只有一个,提升查询性能!,索引也是研究InnoDB。

2023-10-02 23:56:40 324

原创 MySQL架构 & InnoDB存储引擎

我们在开发的时候,我们都需要对业务数据进行存储,这个时候,你们就会用到MySQL、Oracal等数据库。

2023-09-29 18:21:47 598

原创 Review操作系统 - OS(Operating System)

1. 什么是零拷贝?

2023-09-17 23:16:36 115

原创 Redis安装 & 五种基本数据类型

不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。,也不存在多进程或者多线程导致的切换而消耗。还支持对几个操作全并后的原子性执行。语言编写的, 遵守 BCD协议。也被人们称为数据结构 服务器。,如果CentOS上没有安装。,方法为(关闭默认的端口)2.1什么是Redis。2.2 Redis优势。类型的数据,同时还提供。2.3 Redis下载。3.3.5 退出客户端。是完全开源免费的,用。

2023-09-15 23:04:34 505

原创 使用终端MobaXterm连接Centos

官网:、查看刚才安装的Linux的IP地址2、连接。

2023-09-13 14:37:22 301

原创 Re-Learn Linux Part1

u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主录。-s Shell文件 指定用户的登录Shell。-G 用户组,用户组 指定用户所属的附加组。为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用。-g 用户组 指定用户所属的用户组。6.1.3 显示当前目录。2. Linux的用户。

2023-09-10 22:55:05 330

原创 使用Xshell远程访问工具连接到Linux

首先需要查看Linux地址,在Linux主界面中右键选择“

2023-09-10 17:35:07 226

Spring Cloud Nacos安装指南

Nacos安装指南

2023-12-22

undo log版本链图示 - 本人原创!!!

undo log版本链...

2023-10-12

MySQL - B+Tree伪图

B+Tree伪图

2023-10-03

Java设计模式思维导图详解

Java设计模式

2023-09-05

SpringBoot项目的application.yml格式的配置文件

SpringBoot项目的application.yml格式的配置文件

2023-08-25

SpringBoot项目的application.properties配置文件

SpringBoot项目的application.properties配置文件

2023-08-25

SQL注入演示:解决SQL注入 - 直接运行jar包

SQL注入演示:存在SQL注入 - 直接运行jar包

2023-08-09

SQL注入演示:存在SQL注入 - 直接运行jar包

SQL注入演示:存在SQL注入 - 直接运行jar包

2023-08-09

线程池深入 + IO模型 详解

线程池深入 + IO模型 详解

2023-07-29

锁机制基础 - 并发编程 Part 1

锁机制基础

2023-07-29

锁机制基础 - 并发编程 Part 1

锁机制基础

2023-07-13

空空如也

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

TA关注的人

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