首先,我发现的最相似的问题是这个Intellij IDEA:断点未被击中,并且显示为灰色,但这不是完全相同的情况.
我有一个gradle项目,当我放置一个断点时,它显示为一个红点,里面有一个勾号,它只是工作正常.
问题是在某些类中(在同一个项目中,而不是依赖类),红点内部没有勾号,并且它没有说明为什么它不起作用.它只是不起作用..:
到目前为止我尝试了什么:
所以我知道,如果你使用parallelStream没有自定义ForkJoinPool,它将使用默认的ForkJoinPool,默认情况下,只有一个线程,因为你有处理器.
因此,如此处所述(以及该问题的另一个答案)为了获得更多的并行性,您必须:
将并行流执行提交给您自己的ForkJoinPool:yourFJP.submit(() - > stream.parallel().forEach(doSomething));
所以,我这样做了:
import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ForkJoinPool;
import java.util.stream.IntStream;
import com.google.common.collect.Sets;
public class Main {
public static void main(String[] args) throws InterruptedException, ExecutionException {
ForkJoinPool forkJoinPool = new ForkJoinPool(1000);
IntStream stream = IntStream.range(0, 999999);
final Set<String> thNames = Collections.synchronizedSet(new HashSet<String>());
forkJoinPool.submit(() -> {
stream.parallel().forEach(n -> {
System.out.println("Processing n: " + n);
try {
Thread.sleep(500);
thNames.add(Thread.currentThread().getName());
System.out.println("Size: " + thNames.size() + " activeCount: " + forkJoinPool.getActiveThreadCount());
} catch (Exception e) { …Run Code Online (Sandbox Code Playgroud) 在Spring中,您可以使用不同的属性文件来配置消息,因此它们往往是这样的:
message.key=text here
another.message.key=another text here
Run Code Online (Sandbox Code Playgroud)
但今天我在一个项目中看到它正在使用这种格式:
message.key:text here
another.message.key:another text here
Run Code Online (Sandbox Code Playgroud)
我认为这适用于任何Java属性文件,但有什么区别?
我运行SonarQube检查我的代码,我发现了一个我不理解报告错误的案例.
我的代码是:
private static final int BASE_ID = 100_000_000;
private boolean isValidId(Id id) {
return id.asInteger().isPresent() && id.asInteger().get() >= BASE_ID;
}
Run Code Online (Sandbox Code Playgroud)
该方法asInteger返回Optional<Integer>
我从sonarqube得到的错误是
Call "Optional#isPresent()" before accessing the value.
在返回行.
我理解代码是正常的,因为如果第一个是假的,那么if的第二部分将被执行.我知道这可以通过a来解决,if但我更喜欢这种方式.
有什么想法会发生这种情况吗?
如果我没有错,可以连接到Cassandra集群,知道集群中至少有一个节点,然后可以发现其他节点.
假设我有三个节点(1,2和3),我连接到这些节点,如下所示:
Cluster.builder().addContactPoints("1,2,3".split(",")).build();
然后,如果节点3例如关闭,并且无法解析IP,则此行代码将IllegalArgumentException按照文档中的说明抛出:
@throws IllegalArgumentException if no IP address for at least one of {@code addresses} could be found
为什么有人想要这种行为?我的意思是,如果其中一个节点关闭,我希望应用程序能够运行,因为Cassandra仍然正常工作.
我检查了这个Cassandra Java驱动程序:有多少接触点是合理的? 但这并没有回答我的问题,因为它没有说出任何关于主机的信息,而无法达到.
我该怎么处理?也许这在另一个版本的java驱动程序中有所改变?我目前正在使用cassandra-driver-core-3.0.3
在任何问题上我找不到与此相关的任何内容,这是非常基本的,但我无法弄清楚.
所以我的问题是我不知道如何将null设置为freemarker中的变量.例:
${hi!"bye"} <#-- Prints "bye" because hi is undefined -->
<#assign hi="hi"> <#-- Sets a value to the var hi -->
${hi!"bye"} <#-- Prints "hi" because hi has a value -->
<#assign hi=null> <#-- This does not work but is what I am looking for -->
${hi!"bye"} <#-- I want it to print "bye" because hi should be undefined -->
Run Code Online (Sandbox Code Playgroud)
我有这个问题,因为我迭代一个列表并设置一个var,如果特定项的某些逻辑验证,然后检查var是否存在,但如果第一个项创建var,那么我将为其余的设置var列表中的项目.
我正在尝试制作一个与以下网址匹配的过滤器:
/foo 和 /foo/*
所以任何事情都在/foo/基础情况下/foo
我有这个过滤器:
Spark.before("/foo/*", (request, response) -> {
String ticket = request.cookie("session");
if (ticket == null) {
Spark.halt(302);
}
});
Run Code Online (Sandbox Code Playgroud)
但是当我进入时,这当然不会执行 /foo
我尝试了以下但没有运气:
/foo*
/foo.*
/foo/
反正有没有实现这个目标?或者也许使用URL列表?这样我就可以将两个url分配给同一个过滤器.
并且请不要说将函数存储在变量中,以便我使用它两次,因为我觉得它根本不干净..
我使用的Spark服务网页.对于静态文件我初始化星火喜欢这里所说:
所以我有这个结构:
/src/main/resources/public/
|-- foo/
|-- css/
| |-- bootstrap.css
|-- js/
| ...
|-- img/
...
Run Code Online (Sandbox Code Playgroud)
我制作了一个foo文件夹,因为我的网页位于/foourl ..这样:
http://www.example.com/foo/index
所以我的静态文件像这样加载,例如:
http://www.example.com/foo/css/bootstrap.css
我现在想要的是将此路径变量.因为我有不同的环境,例如,如果我在另一个域中部署此应用程序,我希望它是:
http://www.example2.com/superfoo/css/bootstrap.css
但为此,我必须更改版本并更改文件夹...
对于控制器我很容易做到:
例:
Spark.get(this.appBasePath + "/users", (request, response) -> {
return this.getUsersView(request);
}, new FreeMarkerEngine());
Run Code Online (Sandbox Code Playgroud)
this.appBasePath 来自加载决定环境的配置.
所以我要问的是以编程方式设置静态文件URL而不制作任何文件夹.有没有办法实现这个目标?
我从春天迁移到火花前,现在我陷入了基本的困境.
当我发出POST请求在正文中发送数据时,我希望将JAVA对象放回控制器中.
在春天我曾经做过
@RequestBody User user
Run Code Online (Sandbox Code Playgroud)
它被自动"填充"了..
现在有火花我有方法:
request.body();
Run Code Online (Sandbox Code Playgroud)
但是这给了我一个像这样的序列化字符串:
id=7&name=Pablo+Mat%C3%ADas&lastname=Gomez&githubUsername=pablomatiasgomez
那么我怎样才能获得用户DTO?
当然,User类具有属性
我正在网上冲浪,寻找if语句的简写Javascript表示法.只有if,而不是其他.我的问题:它存在吗?例如:
(i === 0) ? onlyMyTrueValue;
Run Code Online (Sandbox Code Playgroud)
我似乎找到的唯一片段就是这个:
(i === 0) ? myTrueValue : myFalseValue;
Run Code Online (Sandbox Code Playgroud) java ×8
spark-java ×3
java-8 ×2
spring ×2
cassandra ×1
concurrency ×1
datastax ×1
debugging ×1
freemarker ×1
java-stream ×1
javascript ×1
optional ×1
properties ×1
sonarqube ×1
url-routing ×1