自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华_的博客

个人学习博客

  • 博客(3)
  • 收藏
  • 关注

原创 理解 生产者-消费者模式

模式的基本概念生产者 :产生数据的模块消费者 :消费(接收和处理)数据的模块缓冲区 :介于生产者和消费者之间,生产者把数据放入缓冲区,消费者从缓冲区中取出数据倒垃圾1.生产垃圾(生产者生产数据)2.下楼把垃圾放在垃圾桶里 (将数据放入缓冲区)3.环卫工人来处理垃圾桶 (消费者接收数据)4.垃圾装车并处理 (消费者处理数据)那么这个模式有什么好处呢,为什么不把垃圾直接给环卫工人呢...

2019-08-15 11:11:31 159

原创 自己实现 - 秒杀 demo

思想:前端 限流:防止用户重复点击、数学公式校验 后端 限流:信号量限流、漏桶、令牌桶算法核心:保证库存安全,不会发生超卖实现方式:redis+mysql (简单实现,如果分布式系统可以加消息队列),redis 里面存商品id 库存,因为库存要频繁读取。第一种 加锁能保证库存安全,缺点:锁等待的时间太长了,锁的颗粒度太大优化方式:秒杀和入库分开写,降低锁的颗粒度,入库用乐观锁控制 (如果不加锁会出现多减的情况)吞吐量优化前:优化后:第二种 :re...

2021-03-22 15:36:59 126

转载 JAVA 线程池:干货—面试必背

线程池实现原理:当向线程池提交了一个任务之后,线程池的处理流程如下:判断是否达到核心线程数,若未达到,则直接创建新的线程处理当前传入的任务,否则进入下个流程线程池中的工作队列是否已满,若未满,则将任务丢入工作队列中先存着等待处理,否则进入下个流程是否达到最大线程数,若未达到,则创建新的线程处理当前传入的任务,否则交给线程池中的饱和策略进行处理。具体实现jdk 中 j...

2019-10-21 17:29:17 124

空空如也

空空如也

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

TA关注的人

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