草庐IT

concurrent-collections

全部标签

java - Collection.toArray() java.lang.ClassCastException

importjava.util.HashMap;importjava.util.Map;publicclassMain{publicstaticvoidmain(String[]args){Mapmap=newHashMap();map.put(0,Main.class);Class[]classes=(Class[])map.values().toArray();for(Classc:classes)System.out.println(c.getName());}}我尝试在这一行Class[]classes=(Class[])map.values().toArray();进行转换,

java - Collections.sort() throws 比较方法违反了它的一般约定!异常(exception)

我正在尝试对List对象进行排序,但抛出了此异常(但仅适用于大型列表)排序代码:ListsentenceList=finalRepresentation.getSentences();Collections.sort(sentenceList);//FinalSentence类头:publicclassFinalSentenceimplementsComparable{...}compareTo()实现:@OverridepublicintcompareTo(FinalSentenceo){if(this==o){return0;}if(this.score>o.score){retu

java - 为什么 Collector 接口(interface)的 combiner 与重载的 collect 方法不一致?

有一个重载方法,collect(),在界面Stream带有以下签名:Rcollect(Suppliersupplier,BiConsumeraccumulator,BiConsumercombiner)还有另一个版本的collect(Collectorcollector),它接收具有前三个函数的对象。接口(interface)属性Collector对应combiner有签名BinaryOperatorcombiner().在后一种情况下,JavaAPI8声明:Thecombinerfunctionmayfoldstatefromoneargumentintotheotherandret

java - RxJava : how to compose multiple Observables with dependencies and collect all results at the end?

我正在学习RxJava,作为我的第一个实验,尝试重写thiscode中第一个run()方法中的代码(引用Netflix'sblog作为RxJava可以帮助解决的问题)使用RxJava改进其异步性,即它不会等待之前的第一个Future(f1.get())的结果继续代码的其余部分。f3依赖于f1。我知道如何处理这个问题,flatMap似乎可以解决问题:Observablef3Observable=Observable.from(executor.submit(newCallToRemoteServiceA())).flatMap(newFunc1>(){@OverridepublicObs

MongoDB 性能问题 : Single Huge collection vs Multiple Small Collections

我测试了两个场景,单个大集合与多个小集合,发现查询时性能存在巨大差异。这就是我所做的。案例1:我创建了一个产品集合,其中包含10种不同类型产品的1000万条记录,其中每种产品类型正好有100万条记录,并且我在ProductType上创建了索引。当我运行条件ProductType=1和ProductPrice>100和limit(10)的示例查询以返回10条ProductType=1且价格大于100的记录时,当集合中有很多价格的产品时,大约需要35毫秒大于100,当ProductType=1中价格大于100的产品数量非常少时,相同的查询大约需要8000毫秒(8秒)。案例2:我为每个Pro

MongoDB 性能问题 : Single Huge collection vs Multiple Small Collections

我测试了两个场景,单个大集合与多个小集合,发现查询时性能存在巨大差异。这就是我所做的。案例1:我创建了一个产品集合,其中包含10种不同类型产品的1000万条记录,其中每种产品类型正好有100万条记录,并且我在ProductType上创建了索引。当我运行条件ProductType=1和ProductPrice>100和limit(10)的示例查询以返回10条ProductType=1且价格大于100的记录时,当集合中有很多价格的产品时,大约需要35毫秒大于100,当ProductType=1中价格大于100的产品数量非常少时,相同的查询大约需要8000毫秒(8秒)。案例2:我为每个Pro

java - 为什么 collections.sort 在 Java 中按比较器排序时会抛出不支持的操作异常?

以下是我用于按预定义顺序对列表进行排序的代码。itemsSorted列表中提到了定义的顺序。finalListitemsSorted=myMethod.getSortedItems();ListplainItemList=myMethod2.getAllItems();finalComparatorcomparator=newComparator(){publicintcompare(Stringstr1,Stringstr2){returnorderOf(str1)-orderOf(str2);}privateintorderOf(Stringname){return((itemsS

java - Collection 类型不是通用的;它不能用参数参数化 <?扩展 E>

EclipseGalileo有一个奇怪的问题。我将Java1.6设置为我的JRE。在这行代码Listtemplates=newArrayList();我在Eclipse的问题列表中看到以下错误:ThetypeCollectionisnotgeneric;itcannotbeparameterizedwitharguments我用Ant构建这个项目没有任何问题。我该如何解决?看起来这是一个Eclipse问题,但由于这个错误,我无法从IDE编译/发布我的项目。 最佳答案 您要导入什么List?(见此threadfrom2006)java

Java:如何检查字段是否为 java.util.Collection 类型

我有一个实用方法,它遍历各种类并递归检索字段。我想检查该字段是否为集合。下面是一些示例代码:voidmyMethod(ClassclassToCheck)Field[]fields=classToCheck.getDeclaredFields();for(Fieldfield:fields){//checkiffieldifaCollection}提前感谢您的帮助。 最佳答案 if(Collection.class.isAssignableFrom(field.getType())){}

java - java.util.concurrent.Future 的 scala.concurrent.Future 包装器

我将PlayFramework2.1.1与一个生成java.util.concurrent.Future结果的外部java库一起使用。我使用的是scalafuture而不是Akka,我认为从Play2.1开始这是正确的做法。如何将java.util.concurrent.Future包装到scala.concurrent.Future中,同时保持代码非阻塞?defgeConnection():Connection={//blockingwithgetconnectionPool.getConnectionAsync().get(30000,TimeUnit.MILLISECONDS)}