
guava
Spirits、
做一条有梦想的咸鱼
展开
-
Guava并发编程知多少
前言本篇文章我想给大家介绍guava并发包下的Future组件。说到Future,大家应该会想到JDK的Future组件,大家对这个组件一定不会陌生。如果你对这个压根没啥印象,建议你还是先补下课,再来看这篇文章。前置知识:FutureFutureTaskCallableRunnable建议大家这些基本的类库还是要会用。严归正传,为什么要介绍guava并发包的Future呢,原因有二:JDK的Future组件是异步阻塞的,在获取异步任务的结果的时候,会阻塞主线程。gu原创 2020-05-30 17:18:07 · 737 阅读 · 0 评论 -
Guava缓存
缓存写入的方式CacheLoader填充 @Test public void testCache () { //如果找不到,执行loadFromDB() CacheLoader<String, Employee> cacheLoader = CacheLoader.from(key -> loadFromDb(key...原创 2020-01-29 22:04:04 · 267 阅读 · 0 评论 -
Guava集合(一)新的集合类型篇
Guava引入了许多新的收集类型,这些类型不在JDK中,但是却十分有用。MultisetMultiset允许集合中插入重复的元素,Multiset只是一个实现类,其实现类有:Multiset子类是否支持空元素HashMultisetYesTreeMultisetYesLinkedHashMultisetYesConcurrentHashMultis...原创 2020-01-28 21:52:38 · 698 阅读 · 0 评论 -
Guava集合(二)工具类篇
Immutablexxx 不可变集合JDK 提供了Collections.unmodifiableXXX方法,为什么guava还有提供不可变方法。根据官网的描述我认为最大的原因有两个:jdk提供的不可变集合方法是不安全的,如果原有集合的引用在其它地方被持有,那么就不是真的不可变,可以通过原有集合的引用改变该“不可变集合”。低效:数据结构仍然具有可变集合的所有开销,包括并发修改检查,哈希表中...原创 2020-01-27 20:18:13 · 241 阅读 · 0 评论 -
guava使用二之哈希
Guava使用二之HashGuava包为什么要提供hashjava内置的hashcode算法被限制为32位的,而且算法与数据之间耦合严重,无法进行算法的替换。虽然JDK内置的hashcode算法快,但是碰撞严重在简单的散列表中可以通过再hash解决这个问题,但是guava官方认为在其它情况无法满足需求。HashFunctionHashFunction是一个纯无状态函数,它将任意数据块映射...原创 2020-01-16 12:15:56 · 1226 阅读 · 0 评论