自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 面试-高级

消息队列:1,为什么使用消息队列,消息队列有什么优点和缺点?https://mp.weixin.qq.com/s/-7SD1BfxUct7TgIjxPvDSg2,如何保证消息队列高可用,保证消息不被重复消费?https://mp.weixin.qq.com/s/-7SD1BfxUct7TgIjxPvDSg3,自己如何实现一个消息队列,实现的思路?https://www.jianshu.c...

2019-01-12 14:00:00 169

转载 mysql的引擎和锁

转载于:https://www.cnblogs.com/webwangbao/p/9622404.html

2018-09-10 20:04:00 97

转载 缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决...

2018-07-11 08:54:00 186

转载 非常经典的一段死锁的代码

1,概念:在多线程环境中,我们经常会遇到多个线程访问同一个共享资源的情况,这个时候必须考虑如何维护数据一致性,常见的方式是加锁处理。只有拿到锁的线程才可以访问共享资源,通过锁就可以让线程对共享资源的访问都是顺序的,避免出现一些数据不一致的问题。在使用锁的过程中同样也有风险,最为常见的就是死锁现象。死锁就相当于绳子打死结一样,解不开了。在程序中出现这样的情况往往是由于多个线程同时锁...

2018-07-09 10:10:00 447

转载 RPC

https://www.imooc.com/article/29354,非常详细的一篇关于RPC框架thrift介绍以及整合SpringBoot转载于:https://www.cnblogs.com/webwangbao/p/9258796.html

2018-07-03 15:24:00 96

转载 SpringBoot整合RabbitMq

1,该笔记主要是记录自己学习Springboot整合RabbitMq过程,推荐一篇学习RabbitMq非常好的博客:http://blog.720ui.com/2017/rabbitmq_action_01_helloworld/2,RabbitMq简介:AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面...

2018-07-02 20:14:00 98

转载 前端参数统一校验工具类ValidParamUtils

1,前端参数不可信,对于后端开发人员来说应该是一条铁律,所以对于前端参数的校验,必不可少,而统一的前端参数校验工具,对我们进行参数校验起到事半功倍的效果2,统一参数校验工具ValidParamUtilspublic class ValidParamUtils { public static void validInputParams(BindingResult ...

2018-07-02 15:56:00 219

转载 高性能分布式锁-redisson的使用

1,概述:在一些高并发的场景中,比如秒杀,抢票,抢购这些场景,都存在对核心资源,商品库存的争夺,控制不好,库存数量可能被减少到负数,出现超卖的情况,或者 产生唯一的一个递增ID,由于web应用部署在多个机器上,简单的同步加锁是无法实现的,给数据库加锁的话,对于高并发,1000/s的并发,数据库可能由行锁变成表锁,性能下降会厉害。那相对而言,redis的分布式锁,相对而言,是个很好的选择,...

2018-06-30 15:37:00 101

转载 guava的限流工具RateLimiter使用

guava限流工具使用非常详细的一篇使用博客:https://www.cnblogs.com/yeyinfu/p/7316972.html1,原理:Guava RateLimiter基于令牌桶算法,我们只需要告诉RateLimiter系统限制的QPS是多少,那么RateLimiter将以这个速度往桶里面放入令牌,然后请求的时候,通过tryAcquire()方法向RateLimit...

2018-06-29 13:04:00 185

转载 使用Spring的AOP实现切面日志

AOP切面日志的使用方式@Aspect@Componentpublic class HttpAspect { private static final Logger logger = LoggerFactory.getLogger(HttpAspect.class); //定义切点 @Pointcut("execution(public ...

2018-06-26 17:31:00 111

转载 Spring框架中stopwatch(秒表)

StopWatch对应的中文名称为秒表,经常我们对一段代码耗时检测的代码如下:long startTime = System.currentTimeMillis();// 你的业务代码long endTime = System.currentTimeMillis();long costTime = endTime -startTime;System.err.print...

2018-06-26 16:00:00 326

转载 guava的重试机制guava-retrying使用

1,添加maven依赖<dependency> <groupId>com.github.rholder</groupId> <artifactId>guava-retrying</artifactId> <version>2.0.0</version>...

2018-06-26 14:37:00 492

空空如也

空空如也

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

TA关注的人

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