草庐IT

concurrent-collections

全部标签

java - 使用 java.util.concurrent.FutureTask 是不是一个好方法?

首先,我必须说我对APIjava.util.concurrent很陌生,所以也许我所做的完全错误。我想做什么?我有一个Java应用程序,它基本上运行2个单独的处理(称为myFirstProcess、mySecondProcess),但这些处理必须同时运行。所以,我尝试这样做:publicvoidstartMyApplication(){ExecutorServiceexecutor=Executors.newFixedThreadPool(2);FutureTaskfutureOne=newFutureTask(myFirstProcess);FutureTaskfutureTwo=n

java - 使用 java.util.concurrent.FutureTask 是不是一个好方法?

首先,我必须说我对APIjava.util.concurrent很陌生,所以也许我所做的完全错误。我想做什么?我有一个Java应用程序,它基本上运行2个单独的处理(称为myFirstProcess、mySecondProcess),但这些处理必须同时运行。所以,我尝试这样做:publicvoidstartMyApplication(){ExecutorServiceexecutor=Executors.newFixedThreadPool(2);FutureTaskfutureOne=newFutureTask(myFirstProcess);FutureTaskfutureTwo=n

java - 带有 java.util.concurrent.locks.ReadWriteLock 的 @GuardedBy 注释

注释受ReadWriteLock保护的字段以便像FindBugs这样的工具可以利用注释的正确/首选方法是什么?ReadWriteLock的名称是否应该简单地写在@GuardedBy注释中。有没有理由在@GuardedBy注释中只写读锁或写锁的名称?FindBugs或其他工具是否支持@GuardedBy中的ReadWriteLock? 最佳答案 在撰写本文时,@GuardedByisn'tfullyimplementedbyFindbugs,并且主要用于文档。(它是部分实现的。)我总是使用@GuardedBy("readwritelo

java - 带有 java.util.concurrent.locks.ReadWriteLock 的 @GuardedBy 注释

注释受ReadWriteLock保护的字段以便像FindBugs这样的工具可以利用注释的正确/首选方法是什么?ReadWriteLock的名称是否应该简单地写在@GuardedBy注释中。有没有理由在@GuardedBy注释中只写读锁或写锁的名称?FindBugs或其他工具是否支持@GuardedBy中的ReadWriteLock? 最佳答案 在撰写本文时,@GuardedByisn'tfullyimplementedbyFindbugs,并且主要用于文档。(它是部分实现的。)我总是使用@GuardedBy("readwritelo

Java Collections.shuffle 是做什么的?

我最近发现自己需要确保我的list没有按顺序排列。Hibernate很好地以完美的顺序返回它。愚蠢的hibernate,不读我的心。我查看了我的JavaAPI,它告诉我它的shuffle方法是这样做的:使用默认随机源随机排列指定列表。作为好奇的乔治,我想知道这到底意味着什么。有没有我可以学习的数学类(class)?我可以看到代码吗?Java,你对我的ArrayList做了什么?!?!?更具体地说,这里使用了哪些数学概念? 最佳答案 是的,你可以看一下代码;它基本上是一个Fisher-Yatesshuffle.在这里(感谢OpenJD

Java Collections.shuffle 是做什么的?

我最近发现自己需要确保我的list没有按顺序排列。Hibernate很好地以完美的顺序返回它。愚蠢的hibernate,不读我的心。我查看了我的JavaAPI,它告诉我它的shuffle方法是这样做的:使用默认随机源随机排列指定列表。作为好奇的乔治,我想知道这到底意味着什么。有没有我可以学习的数学类(class)?我可以看到代码吗?Java,你对我的ArrayList做了什么?!?!?更具体地说,这里使用了哪些数学概念? 最佳答案 是的,你可以看一下代码;它基本上是一个Fisher-Yatesshuffle.在这里(感谢OpenJD

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

java - 为什么 Collection 不被简单地视为 Collection<?>

考虑以下取自Shiro的org.apache.shiro.subject.PrincipalCollection的API方法接口(interface),但可能也存在于其他库中:CollectionfromRealm(StringrealmName);是的,即使现在仍有库使用原始类型,可能是为了保持Java1.5之前的兼容性?!如果我现在想将此方法与这样的流或选项一起使用:principals.fromRealm(realmName).stream().collect(Collectors.toSet());我收到关于未经检查的转换和使用原始类型的警告,我应该更喜欢使用参数化类型。ecl

java - 为什么 Collection 不被简单地视为 Collection<?>

考虑以下取自Shiro的org.apache.shiro.subject.PrincipalCollection的API方法接口(interface),但可能也存在于其他库中:CollectionfromRealm(StringrealmName);是的,即使现在仍有库使用原始类型,可能是为了保持Java1.5之前的兼容性?!如果我现在想将此方法与这样的流或选项一起使用:principals.fromRealm(realmName).stream().collect(Collectors.toSet());我收到关于未经检查的转换和使用原始类型的警告,我应该更喜欢使用参数化类型。ecl