工具
c412745699
这个作者很懒,什么都没留下…
展开
-
20200308_分布式缓存Redis
缓存分为本地缓存和分布式缓存。以 Java 为例,使用自带的 map 或者 guava 实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着 jvm 的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。使用 redis 或 memcached 之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持 redis 或 ...原创 2020-03-08 18:22:52 · 131 阅读 · 0 评论 -
20200223_Caffeine缓存
Caffeine是一个高性能的本地缓存,相比Guava缓存的性能更加优秀,接近于最优。值得一提的是,Caffeine缓存的api于Guava基本一致,熟悉Guava的同学可以无缝切换。Caffeine的设计十分精妙,有几个点:近似统计LFU的算法Count-Min Sketch。 借鉴了kafka的时间轮调度。 数据结构采取了Ringbuffer。这几个点可以深入去学习:https:...转载 2020-02-23 15:38:24 · 145 阅读 · 0 评论 -
20200214_Disruptor框架
Disruptor是一个高性能的并发队列,三个特性保障了它的高效性:1. CAS乐观锁: 利用CAS(compare and swap) 乐观锁代替了重量级的lock锁, 提升了性能。2. 消除伪共享 伪共享是计算机的CPU缓存导致的。现在的计算机的CPU缓存一般是以行的形式来保存,一行大概是64个字节。java中一个Long是8个字节,所以一行能存8个Long。但是这...原创 2020-02-23 15:19:13 · 114 阅读 · 0 评论 -
20171001_Alfred介绍和一些workflow推荐
尽管MacOS下自带的Spotlight已经是一款非常高效率的软件了,但是被称为神器的Alfred有过之无不及。 Alfred 的名字可能是因为作者是蝙蝠侠迷吧(^_^ 笑),下面简单介绍一下Alfred并且给出一些workflow推荐和下载地址。 Alfred 是一个用键盘通过热键、关键字、自定义插件来加快操作效率的工具,它不但是搜索工具,还是快速启动工具,甚至能够操作许多系统功能原创 2017-10-01 18:52:09 · 2648 阅读 · 0 评论 -
20180915_Hive
由于 Hive 采用了 SQL 的查询语言 HQL,因此很容易将 Hive 理解为数据库。其实 从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。 数据库可以用在 Online 的应用中,但是 Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解 Hive 的特性。 一、Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工...转载 2018-09-15 09:06:18 · 300 阅读 · 0 评论