草庐IT

thread_siblings_list

全部标签

Java List size() 性能和技巧

这个问题在这里已经有了答案:Java-Differencebetweenforloopterminatingexpression(6个答案)关闭8年前。我想知道.size()的性能方法。此方法是否从列表中的对象数返回引用(就像每次将对象添加到列表时递增的类成员)?还是遍历所有对象?哪个更有效率?调用.size()每次:Listobjects=getCoords();for(intx=0;x或者通过保存到局部变量:Listobjects=getCoords();intsize=objects.size();for(intx=0;x假设列表中有>30.000个对象。哪个更快/更高效?如果我

java - 'Thread termination due to failure'指的是什么?

ExecutorService的javadoc有时会提到线程“由于失败”而终止的情况。但是,目前尚不清楚这指的是哪种故障。例如,singlethreadexecutor文档说ifthissinglethreadterminatesduetoafailureduringexecutionpriortoshutdown,anewonewilltakeitsplaceifneededtoexecutesubsequenttasks我本来以为这种情况可能发生在Exception的情况下,也可能是RuntimeException,但似乎并不是这样。运行以下代码似乎给出了相同的线程名称和线程ID。

java - 我如何才能将 ArrayList<String> 插入到接受 List<Integer> 的构造函数中?

这个问题在这里已经有了答案:Javagenericstypeerasure:whenandwhathappens?(7个答案)关闭6年前。我有这门课:publicclassTestSubject{publicTestSubject(Listlist){}}我正在像这样实例化它并且不知何故它正在工作,即使我正在插入ArrayList进入接受List的构造函数:Liststrings=newArrayList();strings.add("foo");Constructorconstructor=TestSubject.class.getConstructor(List.class);Te

Java Thread.sleep 最短时间

这个问题在这里已经有了答案:HowaccurateisThread.sleep?(3个答案)关闭5年前。TimeUnit.sleep(longtimeout)文档这样描述它的论点:timeout-theminimumtimetosleep.但是,我发现—至少在带有Java8update141的Windows764位上—线程hibernate的时间通常少于:publicstaticvoidmain(String[]args)throwsInterruptedException{finallongfrom=TimeUnit.MILLISECONDS.toNanos(100);finallo

java - 自动添加多个 "sections"到 list ?

我正在使用ant生成MANIFEST.MF对于.jar,我需要添加多个list基于目录中文件列表的block。但是,我需要在构建时自动执行此过程,因为列表会在开发和部署之间发生变化。例如:我看过foreach来自Ant-contrib,但它看起来不会在这种情况下工作。这可能吗? 最佳答案 您可以使用Manifesttask来做到这一点它将生成此list:Manifest-Version:1.0Created-By:ApacheAnt1.7Name:sectionAttribute-Name:valueName:section/cla

java - 单例对象工厂 : is this code thread-safe?

我有一个用于许多单例实现的通用接口(interface)。接口(interface)定义了可以抛出检查异常的初始化方法。我需要一个工厂来按需返回缓存的单例实现,想知道以下方法是否线程安全?UPDATE1:请不要建议任何第三部分库,因为由于可能的许可问题,这将需要获得法律许可:-)更新2:此代码可能会在EJB环境中使用,因此最好不要产生额外的线程或使用类似的东西。interfaceSingleton{voidinit()throwsSingletonException;}publicclassSingletonFactory{privatestaticConcurrentMap>CACH

java - ORA-12519, TNS :no appropriate service handler found while inserting into Oracle Database with X threads

我正在尝试插入到具有两列的Oracle数据库中-IDPrimaryKeyvarchar2(4000)ACCOUNTvarchar2(4000)我为此编写了一个多线程程序。并且每个线程每次都使用uniqueid插入ID列,因为ID是主键。我在某些时候面临的唯一问题是-下面的代码在运行几秒钟后抛出以下异常。1)NullPointerException2)java.sql.SQLException:Listenerrefusedtheconnectionwiththefollowingerror:ORA-12519,TNS:noappropriateservicehandlerfound我无

java - java.util.List 实现的测试用例库

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:IsthereatestsuiteforJavacustomcollectionsimplementation?是否有可用的测试用例库,我可以使用它来确保正确完成java.util.List的自定义实现?我当然可以编写我的一个测试用例,但考虑到所有List方法的性质,确保测试的全面性似乎很棘手。同样,如果有整套Java集合接口(interface)的测试用例,那就太好了。

java - 从不同地方调用时不能在方法参数中使用 List<Future<?>>

在我的代码中,我有多个List>实例我想要一个单一的方法来处理等待它们完成的过程。但是我得到一个编译器异常,告诉我actualargumentList>cannotbeconvertedtoList>.这是方法头:publicvoidwaitForIt(>params)这就是它的名字:...List>actions=newArrayList>();waitForIt(actions);我需要这个来为List>>工作以及其他几个。 最佳答案 使用这个:publicvoidwaitForIt(List>params)当你有List和Li

java - Thread 在这里比 Executor 更受青睐吗?

据我了解,Executors有助于处理runnable的执行。例如。当我有几个工作线程完成它们的工作然后终止时,我会选择使用执行程序。执行者将处理创建和终止执行工作线程所需的线程。但是现在我面临着另一种情况。固定数量的类/对象应封装自己的线程。因此线程在创建这些对象时启动,线程将在这些对象的整个生命周期内继续运行。少数对象依次在程序开始时创建并在整个运行时存在。我想在这种情况下线程比执行器更可取,但是当我阅读互联网时,每个人似乎都建议在任何可能的情况下使用执行器而不是线程。有人可以告诉我这里是选择Executors还是Threads,为什么?谢谢 最佳答案