#guava

缓存穿透解决方案之布隆过滤器(Bloom Filter)原理及Guava中的实现

  当用户想要查询一个数据,发现redis内存数据库没有,出现缓存未命中,于是转向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库,给持久层数据库造成很大的压力,这就是缓存穿透。  于是我们就需要有一个能实现“快速判断是否存在”的方案,在确定不存在时就不在去后...

Guava中的基本类型工具

需要包:guava.jar基本工具类放在primitives包中,是以基本类型名+s的方式命名的,比如Ints是int的工具类,Doubles是double的工具类,注意这些是针对基本类型的,不是针对包装类的1.Ints  Ints.max():最大值  Ints.min():最小值  Ints.compare(int...

Guava中的字符串

需要包:guava.jarGuava提供了2个非常好用的字符串操作工具,Joiner连接器和Splitter分离器1.Joiner连接器   Joiner.on(Stringseparator):通过什么符号进行分割  Joiner.skillNull():连接时,有空值就跳过  Joiner.join():...
代码星球 ·2020-10-02

Guava中的集合

需要包:guava.jar1.Collections(对集合的扩展)  主要包括不可变集合,多值Map,Table表和集合工具类  1_1.不可变集合(immutable):ImmutableList,ImmutableMap,ImmutableSet,ImmutableSoredtMap,ImmutableSorte...
代码星球 ·2020-10-02

yb课堂 谷歌开源缓存框架Guava cache,封装API 《二十》

github地址:点我直达全内存的本地缓存实现高性能且功能丰富线程安全,操作简单<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version&g...

Guava API

1、字符串的处理  字符串的连接&拆分&匹配及常用操作  Joiner&Splitter1@Test2publicvoidtestJoiner(){3String[]strs=newString[]{"pan",null,"teng"};4//由于字符串中含有null因此会抛出异常,需要调用以下...
代码星球 ·2020-08-12

String 转Map(基于Guava类库)

字符串格式:key1=value1&key2=value2......java代码Map<String,String>targetOrderObj=Splitter.on("&").withKeyValueSeparator("=").split(targetOrder);//targetO...

[Google Guava]字符串处理:连接器、拆分器、字符匹配器

一、连接器【Joiner】二、拆分器【Splitter】三、字符匹配器【CharMatcher】  四、字符集【Charsets】  Charsets:针对所有Java平台都要保证支持的六种字符集提供了常量引用。尝试使用这些常量,而不是通过名称获取字符集实例。  try{byte[]bytes=test.getByte...

resin启动报错:guava-15.0.jar!/META-INF/beans.xml:5: <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"> is an unexpected top-level tag. 异常

  项目完成,经过本地的测试,最后在部署的时候,发现服务器resin启动失败,报错信息如下:  从报错信息上看,应该是guava.jar有问题。排查问题  查看项目引入的guava.jar,信息如下:    boneco.jar引入了子包guava-15.0.jar,cache-client.jar引入了guava-1...

[Google Guava]学习--缓存cache

适用性  缓存在很多情况下非常实用。例如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存。  GuavaCache与ConcurrentMap很相似,但也不完全一样。最基本的区别是ConcurrentMap会一直保存所添加的元素,直到显式的移除;GuavaCache为了限制内存...

[Google Guava]学习--新集合类型BiMap

BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构。Bimap  能非常方便的实现map<key,value>的转置要求,也就是value变为key,key变为value;  保证值是唯一的,因此返回Set而不是普通的Collection  注:在BiMap中,如果你想把键映射...

[Google Guava]学习--新集合类型Multimap

每个有经验的Java程序员都在某处实现过Map<K,List<V>>或Map<K,Set<V>>,并且要忍受这个结构的笨拙。假如目前有个需求是给两个年级添加5个学生,并且统计出一年级学生的信息:publicclassMultimapTest{classStudent{St...

[Google Guava]学习--新集合类型Multiset

Guava提供了一个新集合类型Multiset,它可以多次添加相等的元素,且和元素顺序无关。Multiset继承于JDK的Cllection接口,而不是Set接口。Multiset主要方法介绍:add(Eelement):向其中添加单个元素add(Eelement,intoccurrences):向其中添加指定个数的元...

使用Guava-RateLimiter限流控制qps

转自:https://www.jianshu.com/p/8f548e469bbe常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有...

Guava Cache用法介绍

背景缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日长开发有很多场合,有一些数据量不是很大,不会经常改动,并且访问非常频繁。但是由于受限于硬盘IO的性能或者远程网络等原因获取可能非常的费时。会导致我们的程序非常缓慢,这在某些业务上是不能忍的!而缓存正是解决这类问题的神器! 当...
代码星球 ·2020-08-05
首页上一页12下一页尾页