草庐IT

concurrent-collections

全部标签

java - 为什么 java.util.concurrent.TimeUnit.convert 抛出 AbstractMethodError 而不是抽象

java.util.concurrent.TimeUnit有这个来源:publiclongconvert(longsourceDuration,TimeUnitsourceUnit){thrownewAbstractMethodError();}为什么这不是一个抽象方法abstractintexcessNanos(longd,longm); 最佳答案 方法声明上方的单行注释如下,//Tomaintainfullsignaturecompatibilitywith1.5,andtoimprovethe//clarityofthegen

java.util.concurrent.LinkedBlockingQueue put 方法在 Scala 中需要 Nothing 作为参数

这是代码片段-importjava.util.concurrent.LinkedBlockingQueuedefmain(args:Array[String]){valqueue=newLinkedBlockingQueuequeue.put("foo")}这给了我-错误:类型不匹配;找到:java.lang.String("foo")要求:无queue.add("foo")我的理解是因为我没有指定进入队列的元素的类型。如果是这样,我们如何在Scala中为LinkedBlockingQueue指定类型而不是默认的通用类型? 最佳答案

java - 有谁知道任何 Sprite Collection ?

我正在制作2DJava游戏。我希望游戏看起来不错,所以我需要好的Sprite,但我想专注于游戏的编码,而不是图形设计。这个项目有时间限制,所以有预制Sprite会很有帮助。有谁知道任何好的sprite集合? 最佳答案 尝试OpenGameArt.引用:OpenGameArt.orgisacommunitythatbringslike-mindedcodersandartiststogetherforthepurposeofcreatingOpenSourcevideogames,byprovidingahuman-edited,se

java - 内存屏障和 java.util.concurrent.locks.Condition 示例

我对使用Lock提供的Condition时的内存屏障有疑问。关于thejavadocforCondition中提供的示例,我有一个关于使用的问题:intputptr,takeptr,count;难道不应该将这些属性声明为volatile吗?正如我从示例中理解的那样,线程可能看不到例如count的修改。或者是说,当signal()被调用时,自获得锁以来所做的所有修改对其他线程都是可见的?很像synchronizedblock中的一些代码吗?如果是,当调用signal()时,或者当调用锁上的unlock()时,修改是否可见?谢谢。编辑:我在Lock的javadoc中看到:AllLockim

java - 云端点 : Arrays or collections of entity types are not allowed

为什么GoogleCloudEndpoints中存在此限制:Arraysorcollectionsofentitytypesarenotallowed.对于具有方法的API:@ApiMethod(name="getCollection",path="getCollection",httpMethod=HttpMethod.POST)publicArrayListgetCollection(ListpMyObjects){解决这个问题的最佳方法是什么?谢谢! 最佳答案 我认为它不受支持的原因是因为方法签名中的命名参数最终成为URL查询

ERC721和加密收藏品(ERC721 & Crypto-Collectibles)

ERC721和加密收藏品唷!这里的气氛开始升温了……在这节课中,我们将更深入一些。我们将讨论代币、ERC721标准和加密可收集资产。换句话说,我们要做的是让你可以和朋友交换僵尸。一、以太坊上的代币我们来谈谈代币。如果你在以太坊领域呆过一段时间,你可能听过人们谈论代币——特别是ERC20代币。以太坊上的token基本上只是一个遵循一些通用规则的智能合约,即它实现了所有其他令牌合约共享的一组标准函数,例如transferFrom(addres_from,addres_to,uint256_amount)和balanceOf(addres_owner)。在内部,智能合约通常有一个映射,映射(addr

java - synchronized Collection 的 toArray() 方法是同步的吗?

如果我有一个这样的同步集合Collectionc=Collections.synchronizedCollection(myCollection);synchronizedCollection的javadoc提到外部迭代必须像这样同步:synchronized(c){Iteratori=c.iterator();while(i.hasNext()){process(i.next());}}我可以假设c.toArray()是同步的,因此当方法执行时集合不会发生变化吗?或者我是否也需要同步它:synchronized(c){c.toArray();} 最佳答案

Java - Collection.max 比较器的内联定义

我正在寻找Python片段的Java等价物max_valued_key=max(str_to_double_map.keys(),key=lambdax:str_to_double_map[x])我想要像Collections.max这样的标准有没有办法用比较器的内联定义来做到这一点,因为我不想为每个其他比较器再写一个类。我试过下面的代码失败了depScores=foo();Stringdep=Collections.max(depScores.keySet(),newComparator(){@Overridepublicintcompare(Stringo1,Stringo2){r

java - 将 Set<Object> 转换为 Collection<String>

我有一个Set.我需要一个Collection从它。我可以考虑制作一个for循环来添加和转换所有对象,但这很难看,而且可能也很慢。@OverridepublicCollectionkeys(){//propsisbasedonHashMapSetkeys=newHashSet();for(Objecto:props.keySet()){keys.add((String)o);}returnkeys;}什么是正确的方法? 最佳答案 如果你知道所有Object在HashSet里面是字符串,你可以直接转换它:Collectionset=(

java - 为什么 Collection<T> 不实现 Stream<T>?

这个问题在这里已经有了答案:Whydoesn'tjava.util.CollectionimplementthenewStreaminterface?(1个回答)关闭7年前。这是一个关于API设计的问题。当在C#中添加扩展方法时,IEnumerable获取所有启用直接在所有集合上使用lambda表达式的方法。随着Java中lambda和默认方法的出现,我希望Collection将实现Stream并为其所有方法提供默认实现。这样,我们就不需要调用stream()来利用它提供的功能。图书馆架构师选择不太方便的方法的原因是什么?