自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ElasticSearch学习笔记

学习ElasticSearch

2022-06-15 00:17:51 215

原创 缓存穿透,缓存击穿,缓存雪崩

缓存穿透 原因 查询一个数据库不存在的数据,既然数据库不存在,那么缓存自然也不会存在,因此所有这种垃圾查询都会打到数据库上,给数据库造成负担。 解决方法 布隆过滤器 缓存空对象 布隆过滤器 相信不少同学面试时被问过场景设计题:如果目前我们有个营销垃圾邮箱的汇总表,我们希望设计一个高效的拦截过滤器,怎么设计呢? 大家肯定脱口而出:hashmap/hashset。 对,这个思路一点没错,如果我们的邮箱汇总表不大,当然可以这么干。但如果汇总表稍微大一点点比如上到10亿,那就不能这么干了。一般来说面试官会回答:

2021-12-08 11:00:55 589

原创 布隆过滤器

什么是布隆过滤器 布隆过滤器实际上是由一个固定大小的二进制向量或位图和一系列散列函数组成的。用来判断一个元素是否在一个集合内。 原理 了解布隆过滤器原理之前,先回顾下 Hash 函数原理。 Hash函数 哈希函数的概念是:将任意大小的输入数据转换成特定大小的输出数据的函数,转换后的数据称为哈希值或者散列值: 所有散列函数都有如下基本特性: 如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的。这个特性是散列函数具有确定性的结果,具有这种性质的散列函数称为单向散列函数。 散列函

2021-12-07 17:15:45 168

原创 Comparable和Comparator的 区别

一、概述: 对一组数据进行排序(升序或降序),在Java中有很多方式,可以自己手写排序算法(冒泡、快速、二叉树排序等),但一般都采用JDK为我们提供的现有的2个接口,Comparable和Comparator。 二、相同点: 两者都是用来用作对象之间的比较,都可以自定义比较规则。 两者都是返回一个描述对象之间关系的int。 三、区别: Comparable是java.lang包下的,Comparator是java.util包的。 实现Comparable必须重写compareTo(T o),实现Com

2021-10-19 23:25:19 1706

原创 Swagger学习笔记

Swagger简介 前后端分离 前端:前端控制层,视图层 后端:后端控制层,服务层,数据访问层 前后端之间通过Api进行交互 前后端相对独立且松耦合 产生的问题 前后端集成时,前端或者后端无法做到“及时协商,尽早解决”,最终问题集中爆发。 解决方案 首先定义schema [ 计划的提纲 ],并实时跟踪最新的API,降低集成风险 Swagger 号称世界上最流行的API框架 Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新 直接运行,在线测试API 支

2021-10-04 15:09:00 164

原创 SpringCloud学习笔记

一、微服务 1.什么是微服务 微服务是一种架构模式,或者是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在独立的自己的进程中,并相互协调,配置,为用户提供最终价值。从技术角度理解的话,微服务就是将传统的一站式应用,根据业务拆分成一个一个服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事情。 2.优缺点 优点: 每个服务足够内聚 缺点: ...

2021-10-02 17:07:24 121

原创 设计模式之观察者模式

一、定义及组成部分 1.定义 观察者(Observer)模式 又名发布-订阅(Publish/Subscribe)模式。GOF 给观察者模式如下定义: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 2. 组成部分 观察者模式由以下几部分组成: Subject:抽象主题(抽象被观察者)抽象主题角色把所有观察者对象放进一个集合里,每个主题都可以有任意数量的观察者,抽象主题提供一个接口,可以增加和删除观察者对象。 ConcreteSubject:具体主

2021-09-26 23:21:45 130

原创 Git学习笔记

常用命令 命令 说明 git config --global user.name 用户名 设置用户签名(安装Git后务必设置) git config --global user.email 邮箱地址 设置email地址(安装Git后务必设置) git init 初始化本地库 git clone 远程库地址 从远程库克隆到本地 git status 查看本地库 git add 文件名 将文件添加到暂存区 git rn --cached 文件名 移除在暂存区的文件 g

2021-09-26 13:50:57 253

原创 设计模式之单例模式

设计模式之单例模式 概述 单例模式,是一种常用的软件设计模式,在它的核心结构中只有一个被称为单例的特殊类,通过单例模式可以保证在系统中,使用该模式的类只有一个对象实例。 应用场景 1.Windows系统的任务管理器。 2.Windows系统的回收站。 3.操作系统的文件系统,一个操作系统只能有一个文件系统。 4.数据库连接池的设计与实现。 5.多线程的线程池设计与实现。 6.Spring中创建的Bean实例默认都是单例。 7.Java-Web中,一个Servlet类只有一个实例。 好处 在内存中只有一个实例

2021-09-22 16:39:16 104

空空如也

空空如也

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

TA关注的人

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