自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RabbitMQ保证消息的可靠性

如何保证RabbitMQ的消息可靠性

2024-02-18 21:17:41 2270 2

原创 Sharding-JDBC学习笔记

Sharding-JDBC的学习笔记

2024-02-16 21:26:09 405

原创 分布式学习笔记

Consistency(一致性):用户访问分布式系统中的任意节点,得到的数据必须一致。Availability(可用性):用户访问集群中的任意健康节点,必须得到相应,而不是超时或拒绝。Partition tolerance (分区容忍性):因为网络故障或其他原因导致分布式系统中的部分节点与其他节点失去连接,形成独立分区。在集群出现分区时,整个系统也要持续对外提供服务。

2024-02-15 16:47:31 926

原创 Seata

Seata解决分布式事务的四种模型

2024-02-12 09:07:16 1451

原创 GOF设计模式

设计模式一、设计模式概述1. 产生背景"设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马

2024-02-08 19:45:36 1044

原创 Linux 网络模型

我们的应用程序也好,还是内核空间也好,都是没有办法直接去物理内存的,而是通过分配一些虚拟内存映射到物理内存中,我们的内核和应用程序去访问虚拟内存的时候,就需要一个虚拟地址,这个地址是一个无符号的整数,比如一个32位的操作系统,他的带宽就是32,他的虚拟地址就是2的32次方,也就是说他寻址的范围就是0~2的32次方, 这片寻址空间对应的就是2的32个字节,就是4GB,这个4GB,会有3个GB分给用户空间,会有1GB给内核系统。:简称FD,是一个从0 开始的无符号整数,用来关联Linux中的一个文件。

2024-02-01 18:30:22 831 1

原创 Spring Security学习笔记

SpringSecurity一、SpringSecurity1. SpringSecurity简介安全框架概述什么是安全框架? 解决系统安全问题的框架。如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问限制。常用安全框架Spring Security: Spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在 Spring 应用上下文中配置的 Bean,充分利

2024-01-16 22:49:46 457 1

原创 ElasticSearch学习笔记

ElasticSearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。ElasticSearch结合Kibana、LogStach、Beats,也就是Elastic Stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DoougCutting于1999年研发2004年Shay Banon基于Lucene开发了Compass。

2024-01-10 22:41:31 1586

原创 Docker基础知识

镜像的名称不是随意的,而是要到DockerRegistry中寻找,镜像运行时的配置也不是随意的,要参考镜像的帮助文档,这些在DockerHub网站或者软件的官方网站中都能找到。但遗憾的是,容器运行的Nginx所有的文件都在容器内部。容器是隔离环境,容器内程序的文件、配置、运行时产生的容器都在容器内部,我们要读写容器内的文件非常不方便。注意:容器与数据卷的挂载要在创建容器时配置,对于创建好的容器,是不能设置数据卷的。这个目录就是默认的存放所有容器数据卷的目录,其下再根据数据卷名称创建新目录,格式为。

2023-12-23 19:31:58 846 2

原创 分布式相关概念

分布式的相关概念

2023-12-12 20:51:54 913

原创 Git 常用命令

git的常用命令汇总

2023-08-19 19:22:42 67

原创 SpringBoot学习笔记

叫做自动配置(就是把spring中的,第三方库中的对象都创建好,放到容器中,开发人员可以直接使用)RedisTemplate:把key,value经过了序列化存到redis,key和value都是序列化的内容,不能直接识别,使用的是。比如使用MyBatis框架,需要在Spring项目中,配置MyBatis的对象SqlSessionFactory,Dao的代理对象。常常在过滤器中处理字符编码。启动自动配置,把java对象配置好,注入到spring容器中,例如可以把MyBatis对象创建好,放入到容器中。

2023-05-12 10:45:55 143

原创 Java 8 新特性

流(Stream)到底是什么?是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。集合讲得是数据,流讲的是计算。注意:Stream 自己不会存储元素Stream 不会改变源对象。相反,会返回一个持有结果的信StreamStream 操作时延迟执行的。

2023-05-12 10:43:14 509

原创 Spring学习笔记

SpringIOC容器(IOC inversion of control 控制反转)什么是IOC控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理使用IOC的目的:降低耦合度IOC底层实现原理:XML解析、工厂模式、反射IOC接口(BeanFactory)IOC思想基于IOC容器实现,IOC容器底层就是对象工厂Spring提供IOC容器实现两方式(两个接口):BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人

2023-05-11 21:51:16 108

原创 Redis学习笔记

NoSQL(NoSQL = Not Only SQL),意思是“不仅仅是SQL”,泛指非关系型数据库。NoSQL不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。不遵循SQL标准不支持ACID远超于SQL的性能Redis是一个开源的key-value存储系统和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set-- 有序集合)和hash(哈希类型)

2023-05-11 21:50:41 548

原创 MySQL高级学习笔记

MySQL高级第一章、LInux下MySQL的安装和使用安装前的说明安装并启动好一台虚拟机:CentOS 7掌握克隆虚拟机的操作mac地址主机名IP地址UUID安装有Xshell和Xftp等访问CentOS系统的工具CentOS 6和CentOS 7在MySQL的使用中的区别:1. 防火墙:6是iptables, 7是firewalld2. 启动服务的命令:6是service 7是systemctl查看是否安装过MySQL如果你是用rpm安装

2023-05-11 21:50:20 692

原创 RabbitMQ学习笔记

RabbitMQ第一章、消息队列1、MQ的相关概念1.1什么是MQ?MQ(message queue),从字面意思上看,本质是一个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递信息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦 + 物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。1.2为什么要使用MQ?1.流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时

2023-05-11 21:50:09 399

原创 MySQL基础知识学习笔记

并对记录的数据进行处理。这个时候就可以用到游标。游标,提供了一种灵活的操作方式,让我们能够对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。

2023-05-11 21:49:32 148

原创 Linux学习笔记

介绍:服务(service)本质上就是进程,但是运行在后台,通常都会监听某个端口,等待其他程序的请求,比如(mysql、sshd、防火墙),因此我们又称之为守护进程,是Linux中非常重要的知识点。Linux采用一种交“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的储存空间在一个目录下获得。介绍:top指令和ps指令相似。他们都用来显示正在执行的进程,top和ps最大的不同点在于,top可以更新正在运行的进程。

2023-05-11 21:47:58 63

原创 MyBatis学习笔记

在UserDao文件中,可以使用特定的标签,表示数据库的特定操作如:

2023-05-11 21:47:58 160

原创 JVM学习笔记

Java 虚拟机设计团队有意把类加载阶段中的通过一个类的全限定名称来获取描述该类的二进制字节流这个动作放入到 Java 虚拟机外部区实现,以便让应用程序自己决定如何区获取所需的类。实现这个动作的代码被称为”类加载器“(**类与类加载器 **类加载器虽然只用于实现类的加载动作,但它在 Java 程序中起到的作用却远超类加载阶段对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确认其在 Java 虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间。

2023-05-11 21:45:52 612

原创 Java并发编程学习笔记

JUC并发编程第一章、进程与线程1、进程与线程进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载到CPU,数据加载到内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如:记事本、画图、浏览器等),也有的程序只能启动一个实例进程(例如:网易云音乐、360安全卫士等)线程一个

2023-05-11 21:43:50 408

原创 Git学习笔记

在版本控制中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行,对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)众所周知,GitHub服务器在国外,使用GitHub作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至出现登录不上的情况。针对这个情况,大家可以使用国内的项目托管网站-码云。

2023-05-11 21:40:13 174

原创 Redis集群的搭建

单机安装Redis、Redis主从集群、搭建哨兵集群、搭建分片集群

2023-03-05 17:35:15 56

空空如也

空空如也

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

TA关注的人

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