草庐IT

android-guava

全部标签

java - Guava CacheBuilder 最大尺寸

我想弄清楚您在GuavaCacheBuildermaximumSize()中指定的数字代表什么。假设我的代码中有这样的东西,CacheprogramCache=CacheBuilder.newBuilder().maximumSize(1000).build();我指定为最大大小的1000是否意味着在它开始踢出LRU之前我可以在缓存中拥有一千个不同的条目(无论对象可能有多大)?如果是这种情况,对象的大小是否有限制?或者1000是否意味着,我有1000mb(MB正确吗?)可以使用,并且在它开始踢出LRU之前,我可以在缓存中拥有尽可能多的对象,最多1000mb?

java - Guava 的 Cache<K, Semaphore> 和 weakValues() 是线程安全的吗?

我需要一个按键锁定机制来保护按键绑定(bind)的关键部分。尽管ConcurrentMap对于并发就足够了,我也不希望map累积旧key并无限增长。理想情况下,数据结构最终(或之后立即)释放用于未使用锁的键的内存。我有点想Guava的Cache用weakValues()build会成功的:privatestaticfinalLoadingCacheKEY_MUTEX=CacheBuilder.newBuilder().weakValues().build(newCacheLoader(){@OverridepublicSemaphoreload(Kkey)throwsException

java - 为什么Unity3d找不到Java for Android SDK

几天来我一直收到以下错误Unity3dv4.3.2f1jdk1.8.0_11AndroidSDKv0.8ErrorbuildingPlayer:UnityException:Unabletofindsuitablejdkinstallation.Pleasemakesureyouhaveasuitablejdkinstallation.AndroiddevelopmentrequiresatleastJDK6(1.6).ThelatestJDKcanbeobtainedfromtheOraclehttp://www.oracle.com/technetwork/java/javase/

java - 有没有办法为 Guava 表使用 for-each 结构?

现代Collections最简洁的编码优势之一是能够使用for-each结构。我在下面有一个简单的通用表格打印方法,然后是测试加载方法。虽然这行得通,但某种形式的for-each会干净得多。有什么想法吗?publicvoidprintTable(Tabletable){intnumRows=table.rowKeySet().size();intnumCols=table.columnKeySet().size();for(inti=0;itable=HashBasedTable.create();voidmakeTable(){for(inti=0;i 最

java - Guava future 如何上链?

我正在尝试创建一个小型服务来接受文件上传、解压缩然后删除上传的文件。这三个步骤应该作为future链接起来。我正在使用GoogleGuava库。工作流程是:Afuture下载文件,如果操作完成,则afuture解压文件。如果解压缩完成,将来会删除原始上传的文件。但老实说,我不清楚我将如何链接future,甚至如何以Guava的方式创建它们。文档简明扼要且不清楚。好的,有transform方法,但根本没有具体示例。chain方法已弃用。我想念RxJava库。 最佳答案 Futures.transform不像RxJava那样可以流畅地链

java - Guava:MemoizingSupplier 线程安全

GuavaSuppliers类包含MemoizingSupplier:staticclassMemoizingSupplierimplementsSupplier,Serializable{finalSupplierdelegate;transientvolatilebooleaninitialized;//"value"doesnotneedtobevolatile;visibilitypiggy-backs//onvolatilereadof"initialized".transientTvalue;MemoizingSupplier(Supplierdelegate){this.

java - Guava MapMaker().weakKeys().makeMap() 与 WeakHashMap

我们有一个Scala服务器,它通过套接字使用ProtocolBuffers获取节点树,我们需要将额外的数据附加到每个节点。在单线程上下文中,当节点树和关联数据将同时删除它们的强引用时(由于超出范围),是否有任何理由将GoogleGuava的MapMaker与weakKeys()一起使用过度使用Wea​​kHashMap?似乎使用MapMaker,需要为同步访问付费,在这种情况下不需要。顺便说一句,如果MapMaker允许访问等价设置,那么人们可以选择引用相等而不关心弱引用或软引用,这将很有用。 最佳答案 WeakHashMap的一个

Android:使用Jetpack Compose 实现Text控件跑马灯效果

系列文章目录Android:JetpackCompose如何禁用涟漪(水波纹)效果Android:使用JetpackCompose实现Text控件跑马灯效果Android:使用JetpackCompose实现自动轮播BannerAndroid:使用JetpackCompose画渐变背景文章目录系列文章目录前言一、先看效果二、XML方式实现三、Compose方式实现四、使用示例总结前言想要用Compose实现一个跑马灯效果的文本,在官网和Text源码中找了一圈没有找到api,貌似官方压根就没提供,之前我们在xml中使用TextView实现文字跑马灯效果很简单,Compose现在既然没有,那我们就

java - 使用 Guava CharMatcher 作为类中的静态字段。 CharMatcher 线程安全吗?

我需要替换字符串中的一些字符:每个点加下划线。只需执行:myString.replace(".","_");哪个有效。不过,我想使用Guava的CharMatcher,它应该有更好的性能。CharMatcherdotCharMatcher=CharMatcher.anyOf(".");dotCharMatcher.replaceFrom(myString,"_");它运行在一个有很多线程的服务器上。我能否在使用它的类中将dotCharMatcher设为静态字段,还是应该在每个请求中创建一个?(它是线程安全的吗?)谢谢 最佳答案 是的

java - Guava :如何自定义减少多图?

reduce的概念是否在Guava库中实现?我的意思是我有一个多图:[1]->1,2,5,8[2]->3,6,4[3]->1,0然后我有一个乘法函数:(a,b)->a*b我想得到下面的map:[1]->80//1*2*5*8[2]->72//3*6*4[3]->0//1*0我如何在Guava中做到这一点? 最佳答案 我觉得Guava里面没有归约操作。我猜你有两个选择。如果您使用java-8,只需流过条目集,并将条目收集到一个新map中groupingBy和reduce.importstaticjava.util.stream.Col