草庐IT

concurrency-runtime

全部标签

java - 何时使用 Runtime.maxMemory() 和 totalMemory()

这个问题在这里已经有了答案:WhatareRuntime.getRuntime().totalMemory()andfreeMemory()?(7个答案)关闭5年前。Runtime.maxMemory()和Runtime.totalMemory()之间的确切区别是什么?javadoc对此非常模糊(对我而言)。这两种方法的典型用例是什么,即什么时候使用另一种方法不合适?

java - IntelliJ IDEA - 错误 : JavaFX runtime components are missing, 并且需要运行此应用程序

这个问题在这里已经有了答案:IntelliJcan'trecognizeJavaFX11withOpenJDK11(7个答案)关闭4年前。我正在使用JDK11.0.1和来自OpenJFX的JavaFX11运行IntelliJIDEAUltimate2018.2.5。我知道这是一个常见错误,我尝试了很多建议的修复方法,但没有任何效果。无论我尝试运行哪个JavaFX项目,我都会收到错误:Error:JavaFXruntimecomponentsaremissing,andarerequiredtorunthisapplication如果我将以下内容添加到VM选项中--module-path

java - 使用 Runtime.getRuntime().exec() 重定向不起作用

我需要从程序中执行命令。命令行没问题,在终端里试了下,在程序里不行。我从我的代码中添加一个副本:Filedir=newFile("videos");String[]children=dir.list();if(children==null){//EitherdirdoesnotexistorisnotadirectorySystem.out.print("Noexisteeldirectorio\n");}else{for(inti=0;imetadata/"+filename+".json");}程序必须获取文件夹中所有文件的名称(文件名)并提取这些视频的元数据,将它们写入“元数据”

java - java.util.concurrent 集合的安全发布

此代码中的volatile是否冗余?publicclassTest{privatevolatileMapmap=null;publicvoidresetMap(){map=newConcurrentHashMap();}publicMapgetMap(){returnmap;}}换句话说,map=newConcurrentHashMap();提供任何可见性保证?据我所知,ConcurrentMap提供的唯一保证是:ActionsinathreadpriortoplacinganobjectintoaConcurrentMapasakeyorvaluehappen-beforeactio

java - NoClassDefFoundError : JavacProcessingEnvironment at runtime after tomcat 8 upgrade

将项目升级到springboot1.5.9(spring4.3和tomcat8.5.24)后,使用queryDSL的服务在运行时失败,因为它无法从jdk库(tools.jar)中找到类./Q_742623943_01321512155_128635432.java:1:warning:Can'tinitializejavacprocessordueto(mostlikely)aclassloaderproblem:java.lang.NoClassDefFoundError:com/sun/tools/javac/processing/JavacProcessingEnvironmen

java - 为什么 Java Concurrency In Practice list 5.18 不能用锁自动完成?

在JavaConcurrencyinPractice的第106页上,它说“Memoizer3容易受到问题[两个线程看到null并开始昂贵的计算]因为复合操作(put-if-absent)在无法使用锁定使其成为原子的支持映射上执行。”我不明白为什么他们说不能使用锁定使其成为原子。原代码如下:packagenet.jcip.examples;importjava.util.*;importjava.util.concurrent.*;/***Memoizer3**MemoizingwrapperusingFutureTask**@authorBrianGoetzandTimPeierls*

java - "Java concurrency in practice"- 缓存的线程安全数字分解器( list 2.8)

在以下代码中(复制自JavaConcurrencyinPractice第2章,第2.5节,list2.8):@ThreadSafepublicclassCachedFactorizerimplementsServlet{@GuardedBy("this")privateBigIntegerlastNumber;@GuardedBy("this")privateBigInteger[]lastFactors;@GuardedBy("this")privatelonghits;@GuardedBy("this")privatelongcacheHits;publicsynchronized

java - 为什么 Scala 构建自己的 ForkJoinPool 而不是使用 java.util.concurrent.ForkJoinPool#commonPool?

这个问题在这里已经有了答案:scala.concurrent.forkjoin.ForkJoinPoolvsjava.util.concurrent.ForkJoinPool(1个回答)关闭2年前。Java和Scala都引入了自己的全局ForkJoinPool,Java为java.util.concurrent.ForkJoinPool#commonPool,Scala为scala.concurrent.ExecutionContext#global。这两个似乎都旨在用于相同的用例,特别是运行非阻塞并发任务(通常是隐式的)。现在据我所知,如果你以错误的方式选择互操作依赖项,你最终会得到

java - JBoss EAP 6.1 错误 : This runtime type requires a JDK. 此服务器执行环境的当前默认 VM 未被识别为 JDK

你可以检查这个警告here当我添加服务器时,我会这样。请帮帮我。谢谢 最佳答案 转到窗口->首选项->java->安装的jres点击“添加”,添加JDK路径。 关于java-JBossEAP6.1错误:ThisruntimetyperequiresaJDK.此服务器执行环境的当前默认VM未被识别为JDK,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/33907249/

java - 什么时候使用 java.util.concurrent.Semaphore 的 acquire() 和 acquireUninterruptibly() 方法?

我是Java并发/多线程的新手。有人可以向我解释在什么情况下必须(或不能)使用acquire()和acquireUninterruptibly(),它们有何不同;以及如何使用它们(代码示例?)。非常感谢。 最佳答案 acquire()是可中断的。这意味着如果线程A在信号量上调用acquire(),并且线程B通过调用interrupt()中断线程A,则InterruptedException将在线程A上抛出。另一方面,acquireUninterruptibly()是不可中断的。这意味着如果线程A在信号量上调用acquireUnint