自定义博客皮肤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)
  • 收藏
  • 关注

原创 线程安全的可控制最大容量且带有过期时间的本地缓存

好久没有写博客了,最近在公司优化一个接口的时候打算使用一个key-value结构的本地缓存。需要实现的功能非常简单,可以控制本地缓存的最大对象数量(必须线程安全,防止发生OOM),同时支持设置单个对象的过期时间。面对这个需求,我的选择很多,有很多框架都做的非常好,但很多框架对我来说都太重量级了,我希望一个简单高效的实现,所以我开发了一个简单的小工具,在这里可以分享下实现思路和开发当中遇到的问题以...

2019-06-20 20:40:14 465

原创 N线程共享的共享锁

今天实现一个可以实现自定义N个线程共享的共享锁,代码一部分来自《Java并发编程的艺术》。如果想具体理解Java锁的底层原理,我非常建议大家购买这本书。实现的功能是,提供一个初始化方法,可以接受一个int值来确定具体可以几个线程同时共享锁,锁实例化之后就不能修改该属性了。方法的思路是来自《Java并发编程的艺术》这本书中关于锁的介绍,我只是稍加修改和完善。实现上底层依赖了Java本...

2018-08-10 14:38:21 497

原创 基于Redis的分布式布隆过滤器

布隆算法是一个以牺牲一定的准确率来换取低内存消耗的过滤算法,可以实现大量数据的过滤、去重等操作。本博客不讨论布隆算法的具体原理,如果想了解的可以查看这篇博客:布隆过滤器(Bloom Filter)详解为了实现分布式过滤器,在这里使用了Redis,利用Redis的BitMap实现布隆过滤器的底层映射。布隆过滤器的一个关键点就是如何根据预计插入量和可接受的错误率推导出合适的BIt数组长度和...

2018-07-21 13:50:54 12178 2

空空如也

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

TA关注的人

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