自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis如何保证数据一致性

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-02-22 15:04:02 8335 1

原创 zookeeper入门到精通

1.Zookeeper是怎么保证一致性的?在 ZooKeeper 集群中,所有客户端的请求都是写入到 Leader 进程中的,然后,由 Leader 同步到其他节点,称为 Follower。在集群数据同步的过程中,如果出现 Follower 节点崩溃或者 Leader 进程崩溃时,都会通过 Zab 协议来保证数据一致性。Zab 协议的具体实现可以分为以下两部分:消息广播阶段Leader 节点接受事务提交,并且将新的 Proposal 请求广播给 Follower 节点,收集各个节点的反馈,决定是否进

2022-02-21 16:21:50 159

原创 消息中间件如何保证消息的顺序消费

1.当我们的系统中引入了MQ之后,不得不考虑的一个问题是如何保证消息的顺序性,这是一个至关重要的事情,如果顺序错乱了,就会导致数据的不一致。rabbitMQ如何保证消息顺序消费?问题:方案:.首先要保证同一类的操作放在一个queue中,然后一个消费者消费一个队列,然后再将这一类数据放在一个内存队列中。例如,有一个业务,需要对一个业务单据的数据进行新增,修改,删除操作,这个时候需要根据这个业务单据的id放在同一个队列中,只有一个消费者消费这个队列的数据,然后将这个队列的数据放在同一个内存队列中,co

2022-02-13 21:26:57 1993

原创 mysql索引的常见问题

1.索引失效什么情况下索引会失效呢?sql语句中有where 字段 is null的情况,因为查询时,采用is null条件时,不能利用到索引,只能全表扫描。模糊查询的时候,使用前导查询,%放在前面数据的类型匹配不对,比如字符串类型的,传值的时候传成了int类型,这个时候类型转化不对,也会走全表扫描使用联合索引的时候,只传了不是最前面的那个字段作为查询条件,例如:student表中,class, course 两个列作为了联合索引explain select * from student w

2022-02-13 21:00:11 483

原创 redis缓存穿透,击穿和雪崩以及解决方案

一:redis雪崩redis雪崩是指redis在某个时间大量失效,突然造成数据库访问压力急剧增大,像雪崩一样,redis雪崩危害巨大,甚至有可能服务器宕机,给公司造成巨大的经济损失。解决方案:设置超时时间的时候要设置随机值,不要设置固定值 * 缓存雪崩: key在同一时间失效,导致大量请求去访问数据库 * 返回min 和max 之间的一个随机秒数 private Long getRandomExpirationTime(Integer min, Integer max) {

2022-01-18 17:25:17 28056 4

原创 设计模式之原型模式

1.浅克隆指的是运用java 自带的clone方法,克隆对象,其缺点是引用类型的对象 只能复制原型的内存地址,没有把对象的值给取出来。导致原型和克隆之后的引用类型的属性的地址是公用的,一改都改了public class ConceProtype implements Cloneable, Serializable { private int age; private String name; private List<String> hobbies; pu

2021-11-23 20:23:48 68

原创 设计模式之委派模式

委派模式的基本作用是负责任务的调度和分配任务。委派模式 在现实生活中也有相关的体现,比如一个具体任务的执行,首先是经过高层领导讨论,将具体的任务委派给相关部门经理,部门经理拿到任务通知后去委派相关的员工具体执行任务,委派任务的角色实际并非具体执行任务,而是对任务分发,执行过程进行管理。委派模式 是一种行为型模式。 在Spring 中应用挺多的,但是不属于(GOF)23种设计模式。代码示例:public interface IEmploy { void doTask(String taskNa

2021-11-21 20:46:09 91

原创 设计模式之组合模式

一、组合模式的定义  组合(Composite)模式的定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。聚合与组合都是表示整体和个体的关联关系,他们之间最大的区别在于子类被父类控制的程度。组合的父子类关系比聚合要强:组合模式用的是抽象类或则接口、public abstract class Directory { private Str

2021-11-21 20:22:02 84

原创 设计模式之代理模式

1.静态代理:为每个代理类生成一个代理对象public interface IPerson { public void findLove();}public class Zhangsan implements IPerson { public void findLove() { System.out.println("儿子要求肤白貌美大长腿:{}"); }}生成一个代理类,代理张三找对象public class Zhanglaosan imp

2021-11-20 19:46:33 80

原创 redis分布式锁的实现以及锁时间的延长

redis 可用于分布式事务锁:import lombok.Data;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.scr

2021-11-20 11:16:11 724

原创 设计模式之单例模式

所谓单例模式是指只有一个实例出现,其实现步骤是1.构造方法私有化,对外提供一个获取实例的方法1.饿汉式public class HungrySingletion { private final static HungrySingletion instance = new HungrySingletion(); private HungrySingletion(){} public static HungrySingletion getInstances(){

2021-11-18 20:57:14 60

原创 设计模式之工厂模式

1.简单工程模式public interface ICourse { void record();}public class JavaCourse implements ICourse{ public void record() { System.out.println("java 录制课程!"); }}public class PythonCourse implements ICourse{ public void

2021-11-16 20:08:27 61

原创 SpringCloud学习笔记

一。 Hystrix用于熔断,服务雪崩效应由基础服务不可用,导致中整个服务不可用Hystrix的三个特性:断路器机制,FallBack,资源隔离断路器机制:当Hystrix Command 请求后端服务失败数量超过一个阈值比例,断路器就会切换到开路状态Fallback:降级回滚策略资源隔离:不同的微服务调用使用不同的线程池来管理二:Ribbon和FeignRibbon包含了两个部分:负载均衡算法 + app_name转具体的ip:portfeign的实现依赖于Ribbon,它定义了接

2021-11-14 20:55:46 260

原创 Springmvc数据绑定@RequestParm,@PathVariable,RequestBody注解的区别

1.@PathVariable绑定路径后端:@RequestMapping(value = “user/{username}”)public String userProfile(@PathVariable(value = “username”) String username) {System.out.println(username);return “user” + username;}一般用于restful 风格的动态url2.@RequestParam请求参数,可以转换@R

2021-11-12 22:30:36 622

原创 redis 从入门到放弃

一.win 版本安装1.下载zip 版本解压至本地2.在解压路径下 输入cmd,打开黑窗口输入redis-server.exe redis.windows.conf --maxmemory 200Mredis server启动成功3.双击redis-cli.exe 启动redis clientredis client 启动成功...

2021-11-01 20:32:53 96

原创 java中的运算符|=,&=,^=和移位运算

java中常见的运算符1.|=public static void q1() { int a = 5; // 0000 0101 int b = 3; // 0000 0011 a |= b; // 0000 00111 //二进制两个都为0的时候,结果是0,否则是1 System.out.println("a->" + a); System.out.println("b->" + b);

2021-10-27 16:30:09 199

原创 java中mysql悲观锁和乐观锁的使用技巧

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-10-15 14:51:58 810

原创 线程池的使用技巧

线程池是一个非常常用的技术

2021-10-15 11:20:06 78

原创 如何用gitee提交代码

@如何用gitee提交代码TOC](这里写自定义目录标题)欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markd

2021-10-15 10:13:04 3619

原创 eclipse中java代码出现类无法加载

@TOC有时候 Eclipse 会很奇怪,好端端的 project 就这么编译不了了,连 Hello World 都会报“找不到或无法加载主类”的错误,我已经遇到好几次了,遇到这种问题,我的解决方案:1.检查环境变量classpath是否配置正确,我的classpath配置的是.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar; 我运行其他项目的类,能正常运...

2019-01-03 22:55:15 961

原创 eclipse svn插件突然出现错误,不能创建试图

eclipse中svn插件突然出现错误,不能连接svn了:Could not create the view: org.tigris.subversion.subclipse.ui.repositorOC](截图:找到eclipse的安装目录:d:/eclipse/dropins解决方案:1:将svn插件删除,重新下载svn 的插件,放在dropins,重启eslipse,2:将sv...

2019-01-03 10:09:11 390

空空如也

空空如也

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

TA关注的人

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