小编Gli*_*ide的帖子

功能级范围的优缺点(特别是在Javascript中)

与Java等语言中的块级范围相比,Javascript中的功能级范围的优缺点是什么?

我想看看使用块级范围更难或不可能实现的功能级范围使用的示例.

javascript

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

Jackson将Map变量反序列化为空Map而不是null

我正在使用Jackson反序列化一个可能包含Map变量空值的JSON.我想要的是如果值为null,我希望地图是一个空的HashMap而不是null.

JSON:

{"names":null, "descriptions":null, "nicknames":null...}
Run Code Online (Sandbox Code Playgroud)

Java类:

private User {
    private Map<String,String> names = new HashMap<>();
    private Map<String,String> descriptions = new HashMap<>();
    private Map<String,String> nicknames = new HashMap<>();
}
Run Code Online (Sandbox Code Playgroud)

现在,当ObjectMapper反序列化JSON,它覆盖的领域,并集names,descriptionsnicknames为空.

有没有通用的方法所以每次我有新的地图属性时我都不必添加代码?

java json jackson deserialization

6
推荐指数
2
解决办法
6097
查看次数

使用JOIN而不是IN CLAUSE的SQL性能

由于性能原因,我看到很多地方建议使用INNER JOIN而不是编写IN CLAUSES.但是,他们都没有解释为什么.有人可以提供详细解释原因吗?

sql-server performance join

6
推荐指数
0
解决办法
8187
查看次数

如何在IntelliJ中一次对多个错误应用“快速修复”?

在IntelliJ中,按Alt+Enter一个错误会弹出一个对话框,显示一个修正,该修正在您按时被应用Enter。有没有办法对文件中多个相同类型的错误执行此操作?

intellij-idea

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

有关在Spring单例作用域服务中使用ThreadLocal的问题

在下面的单例作用域服务类中,类中的所有方法都需要一些在Service.doA()调用时已知的用户上下文.我没有在方法中传递信息,而是考虑将这些值存储在TheadLocal.关于这种方法,我有两个问题:

1)以下实施是否ThreadLocal正确使用?也就是说,它是线程安全的,正确的值将被读/写入ThreadLocal

2)是否ThreadLocal userInfo需要明确清理以防止任何内存泄漏?它会被垃圾收集吗?

@Service
public class Service {
    private static final ThreadLocal<UserInfo> userInfo = new ThreadLocal<>(); 

    public void doA() {
        // finds user info
        userInfo.set(new UserInfo(userId, name));
        doB();
        doC();
    }

    private void doB() {
        // needs user info
        UserInfo userInfo = userInfo.get();
    }

    private void doC() {
        // needs user info
        UserInfo userInfo = userInfo.get();
    }
}
Run Code Online (Sandbox Code Playgroud)

java concurrency spring multithreading thread-local

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

在表JOIN中实际发生了什么?

我试图看看我的理解JOINs是否正确.

对于以下查询:

SELECT * FROM tableA 
   join tableB on tableA.someId = tableB.someId
   join tableC on tableA.someId = tableC.someId;
Run Code Online (Sandbox Code Playgroud)

RDMS基本上执行类似的伪代码如下:

List tempResults
for each A_record in tableA
    for each B_record in tableB
        if (A_record.someId = B_record.someId)
            tempResults.add(A_record)

List results 
for each Temp_Record in tempResults
    for each C_record in tableC
        if (Temp_record.someId = C_record.someId)
            results.add(C_record)

return results;
Run Code Online (Sandbox Code Playgroud)

所以基本上更多的记录与同someId tableAtableBtableC,更记录了关系数据库管理系统具有扫描?如果所有3个表都有相同的记录someId,那么基本上对所有3个表进行全表扫描?

我的理解是否正确?

mysql sql rdms

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

Maven'test'命令只运行失败的测试

有没有办法调用maven'test'命令,它只运行上次调用时失败的测试?

maven

5
推荐指数
1
解决办法
2812
查看次数

如何将 Spring Retry 与 AsyncRestTemplate 集成

如何Spring Retry与外部调用集成AsyncRestTemplate?如果不可能,是否有其他框架支持它?

我的用例:

public void doSomething() throws ExecutionException, InterruptedException {

    ListenableFuture<ResponseEntity<String>> future = asyncRestTemplate.getForEntity("http://localhost/foo", String.class);

    // do some tasks here

    ResponseEntity<String> stringResponseEntity = future.get(); // <-- How do you retry just this call?

}
Run Code Online (Sandbox Code Playgroud)

您如何重试此future.get()呼叫?如果外部服务返回 404,我想避免再次调用这些任务,而只是重试外部调用?我不能只future.get()用 a换行retryTemplate.execute(),因为它实际上不会再次调用外部服务。

java spring spring-retry spring-async

5
推荐指数
1
解决办法
2177
查看次数

kafka-avro-console-producer快速入门失败

我正在使用kafka-avro-console-producerconfluent-3.0.0,执行以下命令时会发生错误:

./bin/kafka-avro-console-producer --broker-list localhost:9092 --topic test1234 --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"f1","type":"string"}]}'
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/tonydao/dev/bin/confluent-3.0.0/share/java/kafka-serde-tools/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/tonydao/dev/bin/confluent-3.0.0/share/java/confluent-common/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/tonydao/dev/bin/confluent-3.0.0/share/java/schema-registry/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
{"f1":"value1"}
{"f1":"value2"}

org.apache.kafka.common.errors.SerializationException: Error deserializing json  to Avro of schema {"type":"record","name":"myrecord","fields":[{"name":"f1","type":"string"}]}
Caused by: java.io.EOFException
    at org.apache.avro.io.JsonDecoder.advance(JsonDecoder.java:138)
    at org.apache.avro.io.JsonDecoder.readString(JsonDecoder.java:219)
    at org.apache.avro.io.JsonDecoder.readString(JsonDecoder.java:214)
    at org.apache.avro.io.ResolvingDecoder.readString(ResolvingDecoder.java:201)
    at org.apache.avro.generic.GenericDatumReader.readString(GenericDatumReader.java:363)
    at org.apache.avro.generic.GenericDatumReader.readString(GenericDatumReader.java:355)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:157)
    at org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:193)
    at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:183)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:151)
    at …
Run Code Online (Sandbox Code Playgroud)

confluent

5
推荐指数
1
解决办法
3201
查看次数

发生RetriableException时Kafka Connect能否保证写入顺序?

我想保证使用保存数据时的写入顺序SinkTask

如果我想在我的过程中抛出 RetriableException SinkTask.put()写入Kafka Connect数据源的顺序会比分区中的顺序乱吗?

比如某个分区的消息是1-2-3,如果写入Message-2出现异常,Kafka Connect能否保证到达数据源的消息是1-2-3?

据我所知,Kafka Connect异步写入数据源。因此,数据似乎会无序到达数据源。

apache-kafka apache-kafka-connect

5
推荐指数
1
解决办法
1255
查看次数