guava相关内容
在番石榴中,当使用LoadingCache时,将同步调用CacheLoader.但是,我的 load()操作可能花费太长时间(〜1秒),我想采取默认操作以防花费太长时间(> 200 ms)并异步加载该值. 有没有办法做到这一点?还是您可以推荐其他方法? 解决方案 咖啡因库是对Guava缓存的Java 8重写,允许异步自动将条目加载到缓存中,并返回CompletableFutures.它是
..
给出任何两个类,例如下面的 ClassA 和 ClassB : class ClassA {私有intA;私有String strA;私有布尔布尔;//构造函数公共ClassA(int intA,String strA,boolean boolA){this.intA = intA;this.strA = strA;this.boolA = boolA;}//下面的Getter和setter等
..
将番石榴导入Android项目的正确方法是什么?每次尝试使用它时,都会得到一个 NoClassDefFoundError . 这就是我要生成崩溃的原因.我正在使用Android Studio 3.0 Canary 7. 使用 Empty Activity 模板创建一个新项目 File> New> New Project ,目标 API 26.0 . 添加到 dependencie
..
我有一个List,想要一个Multimap,我们在其中按getId()函数对Foo进行了分组. 我正在使用Java 8及其出色的功能,您可以这样做: List foos = ... Map> foosById = foos.stream().collect(groupingBy(Foo::getId));
..
我正在尝试使用以下规则对列表进行排序: 已知值应该在未知值之前排序. 已知值应通过单独定义的键排序. 未知值应按其自然顺序进行排序. 我有(1)和(2),只是想在混合中添加(3). 到目前为止,我有这个: List values = Arrays.asList( "red", "orange", "yellow", "green", "blue"
..
我正在使用JDK 7,SQLite,并且在我的项目中使用了番石榴. 我有一个少于100个条目的TreeMap,它由一个“工作者"线程每秒更新数百次.我现在正在编写一个组件(另一个线程-"DB线程"),该组件每5或10秒将映射写入我的数据库. 我知道我需要制作地图的深层副本,以便DB线程将使用快照,而worker线程将继续其工作.我正在查看解决方案 这取决于您的需求: 如果您想要
..
我知道Guava Cache允许使用到期时间来配置各个缓存.番石榴是否使用计时器来完成此操作,该计时器会在配置的秒数后唤醒以使缓存无效? 我有一个长期运行的交易.无论事务开始时缓存中的内容是什么,我希望它一直持续到事务结束.因此,即使在事务处理期间缓存的有效性秒数过期,从缓存访问的值也应保持不变,直到我们到达事务处理结束为止.番石榴有可能吗? 谢谢, 雅虎 解决方案 来自
..
我正在使用MapMaker在应用程序中实现数据对象的缓存: public class DataObjectCache { private final ConcurrentMap innerCache; public DataObjectCache(Class doClass) {
..
我正在使用 Guava 的17.0版本,尤其是新的收藏类型.尝试通过Socket编写ImmutableTable时,我意识到该类及其具体实现似乎不可序列化. 但是,以下两张票证似乎表明开发人员已意识到该问题: 问题1264 问题1562 你们中有人对包含ImmutableTable属性的类进行序列化吗?我该怎么做,而又不使用Map的Map? 解决方案 即使Immutta
..
问题似乎是并非所有的Guava类都可以直接序列化. 我找到了一个很好的解决方案,喜欢分享. (在本例中为HashBiMap). (也许有些番石榴开发人员可能最好将这一天应用于所有课程) 如果您复制下面的类(并可能将其调整为您可以序列化的类),您将在Javadoc注释中包含更多的调查详细信息. package com.google.common.collect; import j
..
我的问题与Java多线程编程有关. 我正在处理创建许多工作程序的主线程,每个工作程序都是一个线程. 为了从工人到主线程获取结果/错误,我将其与Callable和Future一起使用. 我确实在番石榴中找到了 FutureCallback 接口,以从worker中获取异常. 我的问题是如何使用它,因为在网上找不到任何示例. 谢谢! 解决方案 以下是带有整数结果的示例: L
..
目前正在使用ClientDAO.getClients()从数据库中获取客户端列表,并使用guava进行缓存,并具有30分钟的刷新时间,如下所示 private List getClients() { final Supplier> supplier = () -> ClientDAO.getClients(); Su
..
我有在Nexus上执行的groovy脚本: def retentionDays = 30; def retentionCount = 10; def repositoryName = 'maven-releases'; def whitelist = ["org.javaee7.sample/javaee7-simple-sample", "org.javaee7.next/javaee7-
..
我的控制器无法映射来自前端的Google Guava Multimap.我从Javascript发送了这个对象: {1:[true,false], 2:[false,true], ...}. 如果我使用标准 java.util.Map> 一切正常.但番石榴Multimap则不行.我是否必须配置Spring以使用某些自定义转换器,还是有
..
我有一个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
..
我当前在代码中使用com.google.common.io.ByteArrayDataInput.我正在写的是一种二进制文件的加载器.不幸的是,ByteArrayDataInput不提供其内部字节数组中剩余多少字节的信息.除了此类以外,是否有提供此类信息的替代方法?我知道我可以为com.google.common.io.ByteArrayDataInput编写自己的包装器类,但是我想避免这种情况.
..
我的问题与 Guava EventBus派发完全相同,但是尽管基本问题相似,但我的问题尝试修复已使我陷入黑暗. 我有2个事件被背对背触发.完成所有处理程序后,第二个事件取决于第一个事件的最终状态.只有在第一个事件未取消的情况下,它才应触发.问题是这两个事件都是从另一个事件的处理程序中触发的. 因此,尽管我不在乎谁听第一嵌套事件,但我确实在乎他们要说些什么.我已经离开了事件和Guava的
..
如果B是一个类,且其字段类型为double,则应该使用google collections排序函数对Java中的值进行映射(?,B)排序. 解决方案 以下是使用通用方法的代码段,该方法采用Map和Comparator,并返回其entrySet()排序后的SortedSet使用比较器计算这些值. public class MapSort { st
..
在Java 5中,ExecutorService接口声明该方法: List> invokeAll(Collection> tasks) throws InterruptedException; 以Java 6编写但应该与Java 5兼容的Guava 11.0.2则在ListeningExecutorService中将其覆盖为:
..
我正在编写一个使用richfaces 4.3.7和google guice 4.0的网络应用程序. 问题是使用番石榴18的richfaces和使用番石榴16的google guice会导致以下异常: java.lang.RuntimeException: java.lang.IllegalAccessError: tried to access method com.google.co
..