自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阻塞、同步非阻塞、多路复用、异步非阻塞模型介绍

IO模型IO模型的分类阻塞同步非阻塞多路复用异步非阻塞注意:没有异步阻塞(没有此种情况),别人问道,直接说明没有此种情况即可。前置知识网络通信过程种当调用一次 channel.read 或 stream.read** 后,会由用户态切换至操作系统内核态来完成真正数据读取,而读取又分为两个阶段,分别为:等待数据阶段复制数据阶段注:根据UNIX 网络编程 - 卷 I,IO模型主要有以下几种同步VS异步同步:线程自己去获取结果(一个线程)例如:线程调用一个方法后,需要等待

2021-06-08 10:43:15 190 1

转载 接口幂等性

接口幂等性接口幂等性什么是幂等性哪些情况需要防止什么情况需要幂等幂等性解决方案Token机制危险性各种锁机制数据库悲观锁数据库乐观锁业务层分布式锁各种唯一键约束数据库唯一约束Redis SET防重防重表全局唯一ID接口幂等性什么是幂等性接口幂等性就是用户对同一操作发起的一次请求和多次请求结果是一致的,不会因为多次点击而产生了副作用,比如支付场景,用户购买了商品,支付扣款成功,但是返回结果的时候出现了网络异常,此时钱已经扣了,用户再次点击按钮,此时就会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱

2021-05-15 21:02:50 208

原创 Feign远程调用丢失请求头

Feign远程调用问题Feign远程调用丢失请求头前言问题解决方案例子原理简单理解Feign源码初探原理小结解决方案关键总结Feign远程调用丢失请求头前言我们在写服务端项目的时候,总会限制对某些资源的访问,最常见的就是要求用户先登录才能访问资源,当用户登录后就会将此次会话信息保存进session,同时返回给浏览器指定的cookie键值,下次浏览器再次访问,请求头中就会携带这个cookie,我们也以次来识别用户的登录状态,做出正确响应。问题在 Spring Cloud 中 微服务之间的调用会用到F

2021-05-14 16:35:33 493

翻译 ElasticSearch学习笔记、详解

ElasticSearch1. 什么是RestFulREST : 表现层状态转化(Representational State Transfer),如果一个架构符合REST原则,就称它为 RESTful 架构风格。资源: 所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息表现层 :我们把"资源"具体呈现出来的形式,叫做它的"表现层"(Representation)。状态转化(State Transfer):如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转 化"(St

2021-05-13 19:46:29 3283 2

转载 Nginx的常用命令和配置

1. 常用命令1. 查看版本2. 查看 Nginx 配置语法的正确性3. 为Nginx指定一个配置文件4. 启动 Nginx 服务5. 开机自启动6. 重启 Nginx 服务7. 查看 Nginx 服务状态8. 重载 Nginx 服务9. 停止 Nginx 服务10. 查看命令帮助2. 配置文件第一部分:全局块第二部分:events 块第三部分:http 块1. http全局块2. server块1.全局 server 块2. location块n.

2021-05-01 19:59:56 193

原创 链表-快慢指针

链表常见技巧——快慢指针链表常见技巧——快慢指针寻找链表中点链表常见技巧——快慢指针寻找链表中点原理解析:一个两个指针,快指针得移动速度是慢指针得两倍(即快指针一次先后跳两个,慢指针一次跳一个),均从头节点出发,当快指针停下时,慢指针便到达中点处。输入链表头节点,奇数长度返回中点,偶数长度返回上中点public static Node midOrUpMid(Node head){ if (head == null){ return null; } Node slow = head

2021-04-06 20:20:49 1805

原创 Redis分布式锁

Redis分布式锁什么是Redis分布式锁分布式锁的使用场景Redis如何实现分布式锁获得锁的命令怎么释放锁代码实现分布式锁的缺陷客户端长时间阻塞导致锁失效问题Redis 服务器时钟漂移问题单点实例安全问题RedLock 算法结论什么是Redis分布式锁说到 Redis,我们第一想到的功能就是可以缓存数据,除此之外,Redis 因为单进程、性能高的特点,它还经常被用于做分布式锁。锁我们都知道,在程序中的作用就是同步工具,保证共享资源在同一时刻只能被一个线程访问,Java 中的锁我们都很熟悉了,像sy

2021-04-03 11:55:44 1272

原创 Lettuce在高并发场景下遇见的问题以及解决办法( io.netty.util.internal.OutOfDirectMemoryError)

Spring Boot整合redis压测出现的堆外异常(OutOfDirememoryError)redis常用客户端JedisLettuceLettuce在高并发场景下遇见的问题以及解决办法问题分析解决方案redis常用客户端Jedis如果你在网上搜索 Redis 的 Java 客户端,你会发现,大多数文献介绍的都是 Jedis,不可否认,Jedis 是一个优秀的基于 Java 语言的 Redis 客户端,但是,其不足也很明显:Jedis 在实现上是直接连接 Redis-Server,在多个线程间

2021-04-02 19:22:05 5686 3

原创 Spring Boot应用中完成数据后端校验(JSR303注解、普通校验、分组校验以及自定义校验规则

Spring Boot应用中完成数据后端校验(JSR303注解、普通校验、分组校验以及自定义校验规则前言快速入门上手使用1、基于注解校验的基本使用JSR提供的校验注解Hibernate Validator提供的校验注解2、分组校验功能(完成多场景的复杂校验)3、自定义校验功能前言数据的校验是交互式网站一个不可或缺的功能,前端的js校验可以涵盖大部分的校验职责,如用户名唯一性,生日格式,邮箱格式校验等等常用的校验。但是为了避免用户绕过浏览器,使用http工具直接向后端请求一些违法数据,服务端的数据校验也

2021-03-22 21:49:28 1422 1

原创 JAVA集合框架 Collection、List、Set、Map

JAVA集合框架 Collection、List、Set、Map集合概述Collection体系集合Collection父接口Collection子接口List子接口ArrayList【重点】VectorLinkedListSet子接口HashSet【重点】TreeSetMap体系集合Map集合概述HashMap【重点】HashMap源码分析HashtablePropertiesTreeMapCollections工具类集合概述概念      对象的容器,

2021-02-06 20:02:33 1001

原创 Spring Cloud版本冲突(java.lang.NoClassDefFoundError:org/springframework/boot/Bootstrapper)

springboot整合springcloud和springcloud alibaba 版本导致的问题问题描述问题描述修改springboot版本后,启动springboot项目项目报错:java.lang.NoClassDefFoundError:org/springframework/boot/Bootstrapperjava.lang.NoClassDefFoundError: org/springframework/boot/Bootstrapper at java.lang.ClassL

2021-01-14 16:39:56 13367 5

空空如也

空空如也

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

TA关注的人

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