草庐IT

thread_name

全部标签

java - 你能以编程方式访问当前的 Heroku dyno id/name 吗?

在Heroku上,您能否以编程方式从应用程序中获取当前正在执行代码的dyno的某种标识符?例如dyno名称(例如“web.1”或“worker.1”)或其他一些ID。如果是,如何在Java中执行此操作? 最佳答案 总是有机器的主机名(看起来像d.LONG_GUID。我想(虽然没有尝试过)这应该有效:Stringlocalhostname=java.net.InetAddress.getLocalHost().getHostName();此外,还有一个鲜为人知的secret,但您可以通过查看环境变量PS1的值来获取“web.1”、“w

Java : programmatically determine all of the package names loaded on the classpath

关于如何找到当前类路径中存在的包名称列表,有什么建议吗?这需要在运行时通过在类路径上加载(和执行)的类之一以编程方式完成(即由内而外,而不是由外而内)。更多详情:我考虑的一种方法是对类加载器到目前为止加载的每个类使用反射,并从中提取包名称。但是,我的应用程序已经运行了数千个类,因此我需要一种更高效的方法。我考虑的另一件事类似于找出类路径中的JAR文件,然后为每个JAR并行列出目录。但是,我不知道这是否可以从应用程序内部实现/如何实现。奖励积分任何建议可以按顶级包过滤的方法的人都可以获得奖励积分。例如。显示com.xyz下的所有包==>com.xyz.*,com.xyz.*.*谢谢!

Java 编译器 : How can two methods with the same name and different signatures match a method call?

我有一个名为Container的类:publicclassContainer{privatefinalMapmap=newHashMap();publicvoidput(Stringname,Objectvalue){map.put(name,value);}publicContainerwith(Stringname,Objectvalue){put(name,value);returnthis;}publicObjectget(Stringname){returnmap.get(name);}publicRget(Stringname,Functionmapper){Objectv

JavaFX : Use a Thread more than once

我是JavaFX的新手,线程有点问题:我可以执行它两次,但找不到原因。这是我的代码的总结:Tasktask=newTask(){@OverridepublicVoidcall()throwsImageLoadedException,HomographyException,IOException{try{System.out.println("GO!");returnnull;}catch(Exceptione){e.printStackTrace();}returnnull;}@Overrideprotectedvoidsucceeded(){super.succeeded();Sys

Java 并发数 : executing many "infinite" tasks with few threads

我正在为一组根据牛顿定律在空间中移动的N个粒子构建一个(并发)模拟器。我的想法是将每个粒子建模为一个任务,它与其他粒子(任务)相互作用以获得它们的位置和质量,从而计算它所受到的合力。每个粒子任务都是while(true){force=thisParticle.calculateNetForce(allTheParticles);thisParticle.waitForAllTheParticlesToCalculateNetForce();//synchronizationthisParticle.updatePosition(force);thisParticle.waitForAl

Java-Thread 与 Runnable

这个问题在这里已经有了答案:"implementsRunnable"vs"extendsThread"inJava(43个回答)关闭8年前。在阅读here中Thread和Runnable之间的显着差异时,我遇到的区别是:当您扩展Thread类时,您的每个线程都会创建唯一的对象并与之关联。当您实现Runnable时,它​​与多个线程共享同一个对象。。有代码给:classImplementsRunnableimplementsRunnable{privateintcounter=0;publicvoidrun(){counter++;System.out.println("Implemen

Java 8 : Duplicate method name&signature lambda

我正在使用Java8lambda、方法引用和接口(interface)默认方法来探索柯里化(Currying)的美妙世界,然后我遇到了这个我无法理解的Java错误。代码如下:publicclassMain{publicinterfaceCurryBiConsumerextendsBiConsumer{defaultpublicCurryConsumercurryFirst(Tt){return(u)->accept(t,u);}defaultpublicCurryConsumercurrySecond(Uu){return(t)->accept(t,u);}}publicinterfa

Java 并行流 : how to wait for threads for a parallel stream to finish?

所以我有一个列表,我从中获取并行流来填充map,如下所示:Mapmap=newHashMap();Listlist=some_filled_list;//Puttingdatafromthelistintothemaplist.parallelStream().forEach(d->{TreeNodenode=newTreeNode(d);map.put(node.getId(),node);});//printoutmapmap.entrySet().stream().forEach(entry->{System.out.println("ProcessingnodewithID="

java - HashMap 顺序在使用 Thread 时发生变化,但在没有 Thread 时保持不变

我知道HashMap不保证顺序。考虑以下代码:importjava.util.HashMap;importjava.util.Map;publicclassSandBox{protectedstaticclassBook{Stringname;publicBook(Stringname){this.name=name;}@OverridepublicStringtoString(){returnname;}}protectedstaticclassMyThreadextendsThread{@Overridepublicvoidrun(){super.run();finalintn=1

java - IllegalArgumentException : Executable name has embedded quote, 拆分参数

我收到一个错误:IllegalArgumentException:Executablenamehasembeddedquote,splitthearguments运行时Runtime.getRuntime().exec(cmd,envTokens,file1);我正在使用Windows7和Java7机器。同一行代码在其他环境下也能正常工作。给我一​​些建议。 最佳答案 发生这种情况是因为Java7update21发生了变化/Java6update45.您的问题的解决方案是重构您的代码以使用java.lang.ProcessBuild