草庐IT

guava-libraries

全部标签

java - Google Guava 的 CacheLoader loadAll() 与 reload() 语义

我非常喜欢Guava11的CacheLoader(感谢Google!)的两件事是loadAll(),它允许我一次加载多个key,以及reload(),当它“过时”时,它允许我异步重新加载key"但旧值存在。我很好奇它们是如何一起玩的,因为reload()仅在一个键上运行。具体来说,扩展CachesExplained中的示例:LoadingCachegraphs=CacheBuilder.newBuilder().maximumSize(1000).refreshAfterWrite(1,TimeUnit.MINUTES).build(newCacheLoader(){publicGra

java - 使用 Reflections google library 的单元测试仅在由 Maven 执行时失败

我正在使用谷歌Reflectionslibrary用于查询类路径中的某些资源。这些资源与我的项目中的类位于同一位置。我编写了一些单元测试,在Eclipse中作为单元测试执行时成功,但是当我尝试使用Maven执行它们时(例如maveninstall),它们没有按预期工作。经过一些调试,显然问题是在使用Maven执行时,Reflections库无法找到资源所在的类路径url。我得出了这个结论,研究了Reflections如何确定应该检查的类路径URL。作为示例,以下方法显示了Reflections如何在给定类加载器的情况下找到可用的类路径URL(原始的Reflections方法已稍微简化)

java - Guava:保持插入顺序的 HashBasedTable?

我需要一种方法来为一个值保留两个键——这正是Guavan的HashBasedTable所做的。问题是它在遍历值时不保持插入顺序。有什么优雅的解决方案可以让它工作吗?它不一定是Guava,但我不想用依赖项来膨胀我的项目。我正在尝试使用提到的ImmutableTable-但我还没有找到任何示例。构建这样的表时,我到处都会遇到NPE:ImmutableTableunits;ImmutableTable.Builderbuilder=units.builder();builder.put(unit1.getType(),unit1.getName(),unit1);...units=build

java - 当我运行 .jar 时,出现 "No lwjgl in java.library.path"错误

我正在通过Netbeans使用LWJGL库用Java制作一个基本游戏。我已经使用lwjgl、lwjgl_util和jinput.jar创建了一个库,并将-Djava.library.path=C:\LWJGL\native\windows添加到项目属性的“运行”类别中。当我在Netbeans中运行该文件时,它运行完美,没有任何问题。但是,当我通过双击文件运行.jar时,没有弹出任何内容(据我所知,甚至没有弹出cmd错误窗口)。当我通过命令行运行文件时,我得到:C:\Users\200160765>java-jar"C:\Users\200160765\Documents\NetBean

java - Google Guava 缓存默认过期

我想知道Guava缓存的默认过期策略。我的需求是,一次写,多次读。缓存应该永远不会过期。这是Guava的默认行为吗? 最佳答案 假设您正在谈论CacheBuilder来自GoogledocsBydefaultcacheinstancescreatedbyCacheBuilderwillnotperformanytypeofeviction. 关于java-GoogleGuava缓存默认过期,我们在StackOverflow上找到一个类似的问题: https:/

java - Eclipse 在 Java Build Path -> Libraries editing 期间不显示 lib 目录

我有一个Eclipse/Java项目(Eclipse3.5.2),我正在尝试向其中添加一些JAR。在根项目目录中,我有3个子目录,src、bin和lib,所有3个子目录都在包中探索者名单。我将所需的JAR放入lib。但是,当我转到ProjectPropertes->JavaBuildPath->Libraries(tab)->AddJARs时,出现文件对话框时,它只显示src和文件选择器中的bin目录,而不是lib目录。我猜这很简单,但有人能告诉我为什么文件选择器对话框不显示lib目录吗?--罗施勒 最佳答案 将jar文件复制到li

java - 使用 Google Guava 进行不区分大小写的排序

目前我在2个不同的地方使用以下2段代码来创建一个排序的、不可变的列表。returnOrdering.natural().immutableSortedCopy(iterable);和returnOrdering.usingToString().immutableSortedCopy(machines);但是,这使得“排序”大小写敏感。我如何使用guavaapi制作一个大小写不敏感排序的不可变列表? 最佳答案 我相信您将需要使用from使用String.CASE_INSENSITIVE_ORDER比较器的方法,就像这样。returnO

Ubuntu下cmake编译报错OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY) (found version “1.1.1“)

正点原子STM32MP57学习记录情况说明解决办法重新安装openssl设置环境变量重新cmake编译成功情况说明本人在这之前直接在linux下apt-getinstall已安装过了openssl,默认安装在usr/bin目录下,如下图。但是,本人在尝试第一次cmake编译时,却报错:CMakeErrorat/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137(message):CouldNOTfindOpenSSL,trytosetthepathtoOpenSSLrootfolderinthesystemv

java - 使用 Guava 的字符串列表的字典顺序

简单的方法是什么lexicographicalordering使用Guava的字符串列表。我这样做:Lists=newArrayList("susen","soumen","dipak","abhi","zylo","zala","gautam","gautom","shaswasti","saswati");Listts=newArrayList(transform(s,newFunction(){@Overridepublicchar[]apply(Stringinput){returninput.toCharArray();}}));Collections.sort(ts,Cha

java - 是否可以使用 Java Guava 将函数应用于集合?

我想使用Guava将函数应用于集合、map等。基本上,我需要分别调整Table的行和列的大小,以便所有行和列的大小相等,执行如下操作:Tabletable=HashBasedTable.create();Maps.transformValues(table.columnMap(),newResizeFunction(BlockDimension.WIDTH));Maps.transformValues(table.rowMap(),newResizeFunction(BlockDimension.HEIGHT));publicinterfaceCell{intgetSize(Block