阿飞的博客

其他

干掉GuavaCache:Caffeine才是本地缓存的王

话说,中间件的选择上,Spring(SpringBoot)一直是业界的风向标。比如Spring一直使用「Jackson」,而没有使用Gson和fastjson。SpringBoot2.0默认数据库连接池从TomcatPool换到了「HikariCP」。在本地缓存方面,SpringFramework5.0(SpringBoot2.0)放弃了Google的GuavaCache,选择了「Caffeine」(Drop
2020年6月12日
其他

Tinyid:滴滴开源千万级并发的分布式ID生成器

启动tinyidtinyid项目基于Springboot开发的,所以启动非常简单。只需要运行主类TinyIdServerApplication.java即可。运行后如果能看到如下日志,表示启动成功:
2019年12月19日
其他

Redis进阶:深入解读阿里云Redis开发规范(修订版)

Redis命令只会因为错误的语法而失败,或是命令用在了错误类型的键上面:这也就是说,从实用性的角度来说,失败的命令是由编程错误造成的,而这些错误应该在开发的过程中被发现,而不应该出现在生产环境中。
2019年12月1日
其他

UidGenerator:百度开源的分布式ID服务(解决了时钟回拨问题)

开启buffer补丁线程(前提是配置了属性scheduleInterval),原理就是利用ScheduledExecutorService的scheduleWithFixedDelay()方法。
2019年5月3日
其他

Redis进化史:看Redis如何变成最强缓存

debugger,官方给出了参考视频,不过是在Youtube上:https://www.youtube.com/watch?v=IMvRfStaoyM,能不能看的了就靠自己了。
2019年4月10日
其他

APM巅峰对决:Skywalking P.K. Pinpoint

说明:本次对比基于skywalking-6.0.0-GA和Pinpoint-1.8.2(截止2019-02-19最新版本)。另外,我们这次技术选型直接否定了Zipkin,其最大原因是它对代码有侵入性,CAT也是一样。这是我们所完全无法接受的。这应该是目前最优秀的两款开源APM产品了,而且两款产品都通过字节码注入的方式,实现了对代码完全无任何侵入,他们的对比信息如下:Pinpoint
2019年2月22日
其他

初识Pinpoint

三个安装包pinpoint-agent-1.8.2.tar.gz、pinpoint-collector-1.8.2.war、pinpoint-web-1.8.2.war都需要下载。Apache
2019年2月18日
其他

初识apache skywalking

概览首先大概了解一下skywalking。然后会介绍安装skywalking+elasticsearch组合环境,最后介绍微服务集成skywalking。skywalking是什么?分布式追踪系统,也是APM(Application
2019年2月15日
其他

innodb_ruby:窥探InnoDB奥秘的神器

1.9.3。相关issue地址:https://github.com/jeremycole/innodb_ruby/issues/40。另外,安装ruby时,一步一步来,确保make以及make
2018年12月21日
其他

Redlock:Redis分布式锁最牛逼的实现

正因为如此,Redis作者antirez基于分布式环境下提出了一种更高级的分布式锁的实现方式:Redlock。笔者认为,Redlock也是Redis所有分布式锁实现方式中唯一能让面试官高潮的方式。
2018年11月26日
其他

Streams:深入剖析Redis5.0全新数据结构

需要注意的是,接下来再遍历的start参数是上一次遍历结果最大的ID加1,即"1540014496505-0"加1就是"1540014496505-1"。127.0.0.1:6379>
2018年10月22日
其他

分库分表技术演进&最佳实践-修订篇

总之,对于海量数据,且有一定的并发量的分库分表,绝不是引入某一个分库分表中间件就能解决问题,而是一项系统的工程。需要分析整个表相关的业务,让合适的中间件做它最擅长的事情。例如有sharding
2018年10月2日
其他

Don’t Cross 32 GB!

oops。我们可以通过增加JVM参数-XX:+PrintFlagsFinal,验证UseCompressedOops的值,从而得知,到底是不是真的开启了压缩指针,还是压缩指针失效!
2018年9月5日
自由知乎 自由微博
其他

探索StringTable提升YGC性能

既然StringTable是Hashtable数据结构,那为什么不能自己通过rehash扩大bucket数量来提高性能呢?JVM中StringTable的rehash有点不一样,
2018年8月6日
其他

PermSize&MetaspaceSize区别

一位阿里小伙伴谢照东:xiezhaodong.me大神在群里提出一个问题:怎么查看Metaspace里具体包含的是什么类?起因是他的某个服务设置了-XX:MetaspaceSize=512m
2018年8月1日