草庐IT

guava-libraries

全部标签

java - 如何防止使用 google guava 库中的 beta 类?

几个月来,我们一直在生产中使用Google集合。我们想开始使用Guava来获得额外的功能。但是,我担心将Guava带入我们的产品堆栈b/c一些开发人员可能会开始使用“测试版”类。我们的代码中有各种单元测试,但在这一点上,我不希望包含“测试版”类b/c,它在未来可能会发生变化。是否有任何简单的方法来检测项目是否包含任何“测试版”Guava类? 最佳答案 Overstock.com最近released标记@Beta类、方法或字段的使用的Findbugs插件。 关于java-如何防止使用goo

java - 在 Guava Cache 对象上启用统计信息的性能损失是多少?

显然,正确答案是“对其进行基准测试并找出答案”,但本着互联网的精神,我希望有人能为我完成这项工作。我非常喜欢Guava的网络服务缓存库。然而,他们的文档在这一点上相当含糊。recordStatspublicCacheBuilderrecordStats()EnabletheaccumulationofCacheStatsduringtheoperationofthecache.WithoutthisCache.stats()willreturnzeroforallstatistics.Notethatrecordingstatsrequiresbookkeepingtobeperfor

java - Guava 资源

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我注意到ApacheCommons图书馆已经出版了3本书。Guava图书馆有书吗?该库似乎包含很多内容,但我似乎找不到一个一致的指南来对整个库及其编写方式进行良好的概述和基准测试。

java - Guava 缓存的复杂键(移位)

我有一个点对象:classPoint{finalintx,y;...}因为这些点将在我的代码中到处使用/创建,所以我想开始使用guavas缓存。不幸的是CacheLoader只接受一个参数。Anotherquestion在stackoverflow上使用一对对象来解决类似的问题。但我不喜欢为每个缓存请求创建虚拟对象的想法。所以我想出了自己的解决方法:因为对象是由x和y指定的,所以我想我可以将两个值合并(移位)到一个long中,这将是我的键。voidtest(intx,inty){Longkey=(long)((long)(x)loader=newCacheLoader(){public

java - Guava 事件总线 : don't catch RuntimeException

我使用guava的EventBus,不幸的是它捕获并记录了事件处理程序抛出RuntimeException时发生的InvocationTargetException。我可以禁用此行为吗? 最佳答案 就目前而言,这是一个深思熟虑的决定,并在EventBus文档中进行了讨论:Handlersshouldnot,ingeneral,throw.Iftheydo,theEventBuswillcatchandlogtheexception.Thisisrarelytherightsolutionforerrorhandlingandshou

加载 gnu.io.RXTXCommDriver 时抛出 java.lang.UnsatisfiedLinkError : no rxtxSerial in java. library.path

Fedora现在正在使用(包已安装包rxtx-2.2-0.5.20100211.fc15.i686已安装且最新版本)。我已经使用/尝试过:#locatelibrxtxSerial/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/i686-unknown-linux-gnu/librxtxSerial.so/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/ia64-unkown-linux-gnu/librxtxSerial.so/home/sun/Downloads/rxtx-2.1-7-bins-r2/L

java - 维基百科 : Java library to remove wikipedia text markup removal

我下载了维基百科转储,现在想删除每个页面内容中的维基百科标记。我尝试编写正则表达式,但它们太多而无法处理。我找到了一个python库,但我需要一个java库,因为我想集成到我的代码中。谢谢。 最佳答案 分两步进行:让一些现有工具将MediaWiki标记转换为纯HTML;将纯HTML转换为文本。下面的演示:importnet.java.textilej.parser.MarkupParser;importnet.java.textilej.parser.builder.HtmlDocumentBuilder;importnet.jav

java - Guava ImmutableSet : Builder vs. 的?

Javadoc对于com.google.common.collect.ImmutableSet建议有两种方法可以创建ImmutableSet的实例来自E类型的元素(例如Ee1和Ee2)尚未在集合中(即忽略从现有集合创建的copyOf方法):“的”方法:ImmutableSetset=ImmutableSet.of(e1,e2);build者:ImmutableSetset=newImmutableSet.Builder().add(e1).add(e2).build();这两种方法都使用ImmutableSet.Builder#construct但我应该更喜欢哪一个?

java - 使用弱/软的 Guava CacheBuilder 或 MapMaker

我不习惯处理Java中的软引用和弱引用,但我理解其中的原理,因为我习惯处理像Gemfire这样的数据网格,它在内存已满时提供溢出到硬盘功能,可能使用软引用或我猜是类似的东西。我在Guava中不明白的是它提供了使键变软/变弱以及使值变软/变弱的方法。例如,我只是想知道使用非软值创建软键有什么意义?我的意思是,当开始收集软引用时,我们无法再通过其键找到条目,那么为什么我们希望值保留在映射中?谁能给我们一些用例:弱键/软值弱键/正常值软键/弱值软键/正常值谢谢编辑我不确定我的问题是否足够精确,所以我想知道的是:收集键(弱/软)时,值会发生什么变化(非弱/软)当收集到一个值(弱/软)时,键会发

java - 如何对 Guava 多图进行排序? (关键=日期)

我有一个Multimapmultimap=ArrayListMultimap.create();来自Guava。我想知道如何对多图中的Date键进行排序。目前,我正在这样做:IteratordateItr=multimap.keySet().iterator();SettreeSet=newTreeSet(Collections.reverseOrder());然后我循环遍历treeSet迭代器。知道如何避免这种规避吗? 最佳答案 这里是Guava团队成员。使用TreeMultimap,或者如果你需要映射到List,使用Multim