自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 缓存穿透以及处理方式

一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:1.采用过滤器,接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;2.从缓存取不到的数据,在数据库中也没有取到,这时也

2020-06-17 18:32:41 149

原创 TCP三次握手四次挥手

TCP的三次握手四次挥手三次握手四次挥手常见问题三次握手第一次握手:客户端向服务器发送Syn请求包第二次握手:服务器向客户端发送Syn请求包,ACK确认包第三次握手:客户端向服务端发送ACK确认包,两者建立连接四次挥手第一次挥手:客户端向服务器发送FIN包释放链接第二次挥手:服务器向客户端发送ACK确认包,进入CLOSE_WAIT状态并通知上层应用程序,这段时间服务器可能还向客户端发送数据。第三次挥手:服务器向客户端发送FIN包释放链接第四次挥手:客户端向服务器端发送ACK确认包,进入

2020-06-17 15:07:33 75

原创 分布式锁

分布式锁https://www.jianshu.com/p/a1ebab8ce78a

2020-06-17 15:06:45 93

原创 Java-单例模式

Java-单例模式懒汉(线程安全,调用效率不高,但是能延时加载)饿汉(线程安全,调用效率高,但是不能延时加载)双重锁(由于JVM底层模型原因,偶尔会出问题,不建议使用)静态内部类(线程安全,调用效率高,可以延时加载)懒汉(线程安全,调用效率不高,但是能延时加载)class Test { private static Test test; private Test() { } public static synchronized Test getInstance()

2020-06-17 11:46:22 80

原创 排序

public static void main(String[] args) { int[] arr = {213, 123, 12, 4, 9, 12}; quickSort(arr, 0, arr.length - 1); guibingSort(arr, 0, arr.length - 1); duiSort(arr); for (int i = 0; i < arr.length; i++) { ...

2020-06-03 11:10:37 107

原创 二叉树遍历

import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class Main { public static void main(String[] args) { Tree tree = new Tree("G"); tree.left = new Tree("D"); tree.right = new Tree("M");

2020-06-02 17:16:56 89

原创 高性能MySQL(第3版)读书笔记-第四章Schema与数据类型优化

mysql的Schema与数据类型优化选择优化的数据类型整数类型实数类型DECIMAL字符串类型VARCHAR与CHARBINARY与VARBINARYBLOB和TEXT使用枚举代替字符串类型日期和时间类型时间的子类型TIMESTAMP与DATETIME的区别位数据类型选择标识符特殊类型数据选择优化的数据类型三原则:1.正确的最小大小的数据类型2.最简单的数据类型,如整数3.尽量避免NU...

2019-10-09 16:31:20 166

空空如也

空空如也

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

TA关注的人

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