我创建了一个番石榴缓存:

Cache = CacheBuilder.newBuilder()

.maximumSize(1_000_000)

.expireAfterAccess(20, TimeUnit.MINUTES)

.build();use

但是当我调用get()时找不到键.当我需要使用Arrays.equals()时,该实现似乎使用equals()查找密钥.

无论如何,有没有设置缓存以使它以这种方式工作?在内部,它似乎具有灵活性,因为比较使用的是Equivalence而不是直接的equals(),但是CacheBuilder api似乎没有办法设置Equivalence对象.

任何帮助将不胜感激.

解决方法:

如果自然相等是您唯一的解决方案(例如在HashMap中),只需将您的实例包装在可以完成工作的对象中即可! JVM对于寿命很短的对象非常有效,因此不要因只为缓存查询而创建几个小对象而烦恼.

正如@LouisWasserman所提到的,您可以使用ByteBuffer.但是您应该注意不要修改由缓存键支持的数组.

标签:caching,guava,java

来源: https://codeday.me/bug/20191027/1947422.html

java byte缓存_java-如何使用带byte []键的番石榴缓存?相关推荐

  1. java int byte数组_Java 中int与byte数组转换详解

    1.与运算符的理解(&): 参加运算的两个数据,按二进位进行"与"运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0:0&1=0 ...

  2. java double 转 byte数组_Java基本类型与byte数组的转换

    Java基本类型与byte数组之间相互转换: package cn.teaey.utils; import java.nio.charset.Charset; public class ByteUti ...

  3. java字符串字节_Java中字符串与byte数组之间的相互转换

    前言 Java与其他语言编写的程序进行tcp/ip socket通讯时,通讯内容一般都转换成byte数组型,java在字符与数组转换也是非常方便的.下面跟我一起来了解一下字符串与byte之间转换的原理 ...

  4. java语言使用箭头键画线_Java:使用带箭头键的按键

    按向下箭头键启动程序,首先观察字符串.这里看一下这个示例程序: import java.awt.*; import java.awt.event.*; import javax.swing.*; pu ...

  5. java中一级缓存_java – 集群环境中的hibernate一级缓存

    您的第一个语句不正确,hibernate中的第一级缓存不在同一JVM的边界内维护.它保持在休眠会话的边界​​内. Hibernate分别处理会话(会话中的实体,这是第一级缓存),即使在同一个jvm中, ...

  6. java 包依赖_java命令执行带jar包依赖的文件执行不了

    import org.apache.commons.io.FilenameUtils; public class Test { public static void main(String[] arg ...

  7. java byte(字节_Java字节序,java整型数与网络字节序 byte[] 数组转换关系(ByteArrayOutpu......

    /** * 通信格式转换 * * Java和一些windows编程语言如c.c++.delphi所写的网络程序进行通讯时,需要进行相应的转换 * 高.低字节之间的转换 * windows的字节序为低字 ...

  8. java byte 图片_Java将byte[]转图片存储到本地的案例

    Java中,将字节数组转成图片的有很多种方式,今天在这里记录其中一种,方便以后查询,也可以提供给没有接触的童鞋做一个参考. 首先是将图片转成字节数组 import sun.misc.BASE64Enc ...

  9. java创建byte数组_java.创建一个byte数组,long length = file.length(); byte[] bytes =

    导航:网站首页 > java.创建一个byte数组,long length = file.length(); byte[] bytes = 时间:2017-12-17 java.创建一个byte ...

最新文章

  1. 2020总结--惟愿人间花满天
  2. lg g7 android9,随着Android 11的临近 LG G7 ThinQ在其最后一家美国运营商处获得了Android 9更新...
  3. localStorage的过期时间设置的方法?
  4. jsp mysql 推荐算法_基于jsp+mysql+Spring+mybatis的SSM协同过滤音乐推荐管理系统(个性化推荐)...
  5. 常见的排序算法(面试经常碰到)
  6. php magento 开发,php – Magento:如何将配置更改从开发环境迁移到生产环境?
  7. kafka消息存储格式
  8. python中的模块调用_Python中模块互相调用的例子
  9. Ubuntu16.04 Jupyter安装(Ipython Notebook安装)
  10. ajax执行成功后,在success回调函数中把后台返回的list还原到html的table中
  11. 使用spring提供的URL多级路径匹配器
  12. 信息安全软考——第四章 网络安全体系与网络安全模型 知识点记录
  13. 2020 计蒜客蓝桥杯省赛 B 组模拟赛(一)题解1.有趣的数字
  14. Python2.爬虫--单词查询程序
  15. 各国程序员薪资水平,咱有点惨...
  16. 教你如何拍好人像摄影
  17. 裸辞半年,我靠Python闷声赚了20万
  18. 数学教程之14本用于早期数学学习的精美插图儿童读物
  19. C++课程设计指导书
  20. 服务器CPU占用过高如何解决

热门文章

  1. 小白学 Python 爬虫:Selenium 获取某大型电商网站商品信息
  2. Python类中的私有属性和私有方法
  3. tf.nn.conv2d理解(带通道的卷积图片输出案例)
  4. ReportViewer教程(13)-交互式排序
  5. 石油、黄金与美元的游戏
  6. leetcode3. Longest Substring Without Repeating Characters
  7. python最小二乘法求a b_python_numpy实用的最小二乘法理解
  8. leetcode - 486. 预测赢家
  9. TF-IDF的java实现(权重排序,可用来处理大数据集)
  10. VS2013+OpenCV3.0编译CMT跟踪算法