小编Dav*_*ezo的帖子

java8 - 缺少变量和可选

我正在解析输入JSON.对于一个领域,有三种可能性:

  • 这个领域缺席;
  • 该值设置为null;
  • 该值设置为有效的值.

实现了不同的行为:对于JSON中缺少的值,将默认值插入到数据库中; 对于JSON中的空值,将空值插入到数据库中.

Optional想要模仿这个:

public class Data {
    private Optional<String> field;
}
Run Code Online (Sandbox Code Playgroud)

以下哪两个选项最有意义?

  1. 如果field为null,则JSON中不存在该字段.如果field是Optional.empty,则该字段null位于JSON中.
  2. 如果field为null,则该字段null位于JSON中.如果field是Optional.empty,则JSON中不存在该字段.

FWIW,我使用Jackson和模块jackson-datatype-jdk8来解析输入JSON.

java json jackson java-8

7
推荐指数
1
解决办法
2560
查看次数

如何并行等待多个阻塞队列?

我有两个独立的阻塞队列.客户端通常使用第二个阻塞队列中的第一个来检索要处理的元素.

在某些情况下,客户端对来自两个阻塞队列的元素感兴趣,无论哪个队列首先提供数据.

客户端如何同时等待两个队列?

java concurrency blockingqueue

7
推荐指数
1
解决办法
1141
查看次数

Jersey客户端WebTarget线程安全吗?

是否WebTarget按照以下线程安全性来创建Jersey客户端?

WebTarget client = ClientBuilder
        .newClient(new ClientConfig(new JacksonJaxbJsonProvider(<object mapper Jackson>, JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS)))
        .target("<url>");
Run Code Online (Sandbox Code Playgroud)

请注意,为此,Jackson ObjectMapper也必须是线程安全的。

java multithreading jersey jackson jersey-2.0

6
推荐指数
1
解决办法
1571
查看次数