guava相关内容

具有异步加载的LoadingCache

在番石榴中,当使用LoadingCache时,将同步调用CacheLoader.但是,我的 load()操作可能花费太长时间(〜1秒),我想采取默认操作以防花费太长时间(> 200 ms)并异步加载该值. 有没有办法做到这一点?还是您可以推荐其他方法? 解决方案 咖啡因库是对Guava缓存的Java 8重写,允许异步自动将条目加载到缓存中,并返回CompletableFutures.它是 ..
发布时间:2021-04-21 18:36:33 Java开发

如何将番石榴导入Android应用程序

将番石榴导入Android项目的正确方法是什么?每次尝试使用它时,都会得到一个 NoClassDefFoundError . 这就是我要生成崩溃的原因.我正在使用Android Studio 3.0 Canary 7. 使用 Empty Activity 模板创建一个新项目 File> New> New Project ,目标 API 26.0 . 添加到 dependencie ..
发布时间:2021-04-04 20:45:42 移动开发

在未知值之前对具有已知值的列表进行排序

我正在尝试使用以下规则对列表进行排序: 已知值应该在未知值之前排序. 已知值应通过单独定义的键排序. 未知值应按其自然顺序进行排序. 我有(1)和(2),只是想在混合中添加(3). 到目前为止,我有这个: List values = Arrays.asList( "red", "orange", "yellow", "green", "blue" ..
发布时间:2021-02-10 18:44:50 Java开发

线程安全的方式来复制地图

我正在使用JDK 7,SQLite,并且在我的项目中使用了番石榴. 我有一个少于100个条目的TreeMap,它由一个“工作者"线程每秒更新数百次.我现在正在编写一个组件(另一个线程-"DB线程"),该组件每5或10秒将映射写入我的数据库. 我知道我需要制作地图的深层副本,以便DB线程将使用快照,而worker线程将继续其工作.我正在查看解决方案 这取决于您的需求: 如果您想要 ..
发布时间:2020-11-21 20:02:09 Java开发

定时缓存到期如何工作?

我知道Guava Cache允许使用到期时间来配置各个缓存.番石榴是否使用计时器来完成此操作,该计时器会在配置的秒数后唤醒以使缓存无效? 我有一个长期运行的交易.无论事务开始时缓存中的内容是什么,我希望它一直持续到事务结束.因此,即使在事务处理期间缓存的有效性秒数过期,从缓存访问的值也应保持不变,直到我们到达事务处理结束为止.番石榴有可能吗? 谢谢, 雅虎 解决方案 来自 ..
发布时间:2020-11-21 20:01:05 其他开发

序列化番石榴的不可变表

我正在使用 Guava 的17.0版本,尤其是新的收藏类型.尝试通过Socket编写ImmutableTable时,我意识到该类及其具体实现似乎不可序列化. 但是,以下两张票证似乎表明开发人员已意识到该问题: 问题1264 问题1562 你们中有人对包含ImmutableTable属性的类进行序列化吗?我该怎么做,而又不使用Map的Map? 解决方案 即使Immutta ..
发布时间:2020-11-21 20:00:59 Java开发

HashBiMap SerializationException或如何在不适用IsSerializable的情况下序列化类?

问题似乎是并非所有的Guava类都可以直接序列化. 我找到了一个很好的解决方案,喜欢分享. (在本例中为HashBiMap). (也许有些番石榴开发人员可能最好将这一天应用于所有课程) 如果您复制下面的类(并可能将其调整为您可以序列化的类),您将在Javadoc注释中包含更多的调查详细信息. package com.google.common.collect; import j ..
发布时间:2020-11-21 19:59:53 其他开发

使用Guava FutureCallback接口的Java多线程编程

我的问题与Java多线程编程有关. 我正在处理创建许多工作程序的主线程,每个工作程序都是一个线程. 为了从工人到主线程获取结果/错误,我将其与Callable和Future一起使用. 我确实在番石榴中找到了 FutureCallback 接口,以从worker中获取异常. 我的问题是如何使用它,因为在网上找不到任何示例. 谢谢! 解决方案 以下是带有整数结果的示例: L ..
发布时间:2020-11-21 19:59:52 Java开发

更新表时触发Guava缓存刷新

目前正在使用ClientDAO.getClients()从数据库中获取客户端列表,并使用guava进行缓存,并具有30分钟的刷新时间,如下所示 private List getClients() { final Supplier> supplier = () -> ClientDAO.getClients(); Su ..
发布时间:2020-11-21 19:58:48 Java开发

Spring MVC映射Guava Multimap

我的控制器无法映射来自前端的Google Guava Multimap.我从Javascript发送了这个对象: {1:[true,false], 2:[false,true], ...}. 如果我使用标准 java.util.Map> 一切正常.但番石榴Multimap则不行.我是否必须配置Spring以使用某些自定义转换器,还是有 ..
发布时间:2020-11-21 19:57:40 其他开发

运行番石榴的问题

我有一个Java文件Test.java(如下),该文件使用Guava的HashMultiMap(从下载http://code.google.com/p/guava-libraries/).我将.java和.jar文件都存储在"C:\ Program Files \ Java \ jdk1.6.0_25 \ bin"中.然后从命令提示符处执行命令: javac -cp guava-11.0.2 ..
发布时间:2020-11-21 19:57:34 Java开发

替代com.google.common.io.ByteArrayDataInput吗?

我当前在代码中使用com.google.common.io.ByteArrayDataInput.我正在写的是一种二进制文件的加载器.不幸的是,ByteArrayDataInput不提供其内部字节数组中剩余多少字节的信息.除了此类以外,是否有提供此类信息的替代方法?我知道我可以为com.google.common.io.ByteArrayDataInput编写自己的包装器类,但是我想避免这种情况. ..
发布时间:2020-11-21 19:57:31 Java开发

Guava EventBus延迟嵌套事件的处理程序执行

我的问题与 Guava EventBus派发完全相同,但是尽管基本问题相似,但我的问题尝试修复已使我陷入黑暗. 我有2个事件被背对背触发.完成所有处理程序后,第二个事件取决于第一个事件的最终状态.只有在第一个事件未取消的情况下,它才应触发.问题是这两个事件都是从另一个事件的处理程序中触发的. 因此,尽管我不在乎谁听第一嵌套事件,但我确实在乎他们要说些什么.我已经离开了事件和Guava的 ..
发布时间:2020-11-21 19:57:29 Java开发