小编may*_*ran的帖子

在调用FutureTask的run方法时,如何消除声纳qube问题?

我有以下代码,其中Sonar Qube引发了严重错误.

public void onMessageReceived(Message message) {

    if((message.getTargetInstanceId() != Message.ANY_TARGET) && (message.getTargetInstanceId() != this.instanceId)) {
        //Invalid message ignore
        return;
    } else {
        int randTime = ran.nextInt(2000);
        FutureTask<Message> workerTask = new FutureTask<>(new DummyCommandHandler(randTime, message,messageBus,instanceId)); 
        workerTask.run();
    }


}
Run Code Online (Sandbox Code Playgroud)

以下是我得到的问题.

Description Assignee    Resource    New issue
Thread.run() and Runnable.run() should not be called directly : Call the method Thread.start() to execute the content of the run() method in a dedicated thread.        
Run Code Online (Sandbox Code Playgroud)

要在FutureTask中调用start方法,它首先没有start方法.它只有一个run方法.我怎样才能克服这个问题?有没有Java解决方案或Sonarqube解决方案?请指教.

java multithreading futuretask sonarqube

2
推荐指数
1
解决办法
735
查看次数

如何比较图像以识别图像中的人物?

通过网络摄像头,我捕获了前方人物的图像。然后我显示一个视频。之后,我必须找出是否同一个人站在前面。我怎样才能做到这一点?互联网中的可能性需要许多图像来训练SVM。我只有一张要被识别的人的照片。我该如何实现?请提供一些代码示例(如果可能的话),因为我是新手。我已经实现了摄像头逻辑。只是我需要的图像识别。

opencv image-processing face-recognition image-recognition computer-vision

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

尝试从证书中获取签名时格式错误的内容异常

我编写了以下代码,以使用证书库中的证书验证文件的签名.但是,当我尝试获取其签名并将其传递给SignedData方法时,我得到以下异常.

org.bouncycastle.cms.CMSException: Malformed content.
    at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source)
    at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source)
    at org.bouncycastle.cms.CMSSignedData.<init>(Unknown Source)
    at VerifyFinal.main(VerifyFinal.java:65)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: java.lang.IllegalArgumentException: unknown object in getInstance: org.bouncycastle.asn1.DERApplicationSpecific
    at org.bouncycastle.asn1.ASN1Sequence.getInstance(Unknown Source)
    at org.bouncycastle.asn1.cms.ContentInfo.getInstance(Unknown Source)
    ... 9 more
Run Code Online (Sandbox Code Playgroud)

下面是我用来验证文件签名的代码.

Security.addProvider(new BouncyCastleProvider());

            KeyStore msCertStore = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
            msCertStore.load(null, null);
            X509Certificate cer = ((X509Certificate) msCertStore.getCertificate("Software View Certificate Authority"));
            PublicKey pubKey = cer.getPublicKey();

            byte[] sigToVerify = cer.getSignature();
            Signature signature = Signature.getInstance("SHA1WithRSA", "BC");
            signature.initVerify(pubKey);

            CMSSignedData cms = new CMSSignedData(cer.getSignature()); …
Run Code Online (Sandbox Code Playgroud)

java security bouncycastle sign certificate

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

不匹配 spec.ts 和 spec.tsx 但应该匹配任何其他 .ts 和 .tsx 的正则表达式

我写的这个正则表达式匹配任何 .ts 或 .tsx 文件名,但不应该匹配 spec.tsx 或 spec.ts。下面是我写的正则表达式。

(?!spec)\.(ts|tsx)$
Run Code Online (Sandbox Code Playgroud)

但它无法忽略.spec.tsx 和spec.ts 文件。我在这里做错了什么?请指教。

regex regex-negation

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

Guice辅助注入多个构造函数始终调用默认构造函数

我有一个有两个构造函数的类.我正在尝试使用guice工厂创建此类的实例.如果没有传递参数,则应调用默认构造函数.如果传递参数,则应调用带参数的构造函数.但是,即使我将参数传递给工厂方法,仍然会调用默认构造函数.带参数的构造函数根本不会被调用.以下是我的工厂类.

public interface MapperFactory {

PigBagMapper createPigBagMapper(@Assisted("pigMetaInfoList") List<String> sourceMetaInfoList);

JsonMapper createJsonMapper(@Assisted("apiName") String apiName) throws EndpointNotFoundException, JsonMapperException;

JsonMapper createJsonMapper();

}
Run Code Online (Sandbox Code Playgroud)

下面是我想要注入的构造函数.

@AssistedInject
public JsonMapper() {
    handlers = new LinkedList<>();
}

 @AssistedInject
 public JsonMapper(@Assisted("apiName") String apiName) throws EndpointNotFoundException, JsonMapperException {
    somelogic();
}
Run Code Online (Sandbox Code Playgroud)

下面是我在Abstract Module实现类中的模块绑定.

install(new FactoryModuleBuilder()
            .implement(PigBagMapper.class, PigBagMapperImpl.class)
            .implement(JsonMapper.class, JsonMapperImpl.class)
            .build(MapperFactory.class));
Run Code Online (Sandbox Code Playgroud)

下面是我如何调用构造函数.

mapperFactory.createJsonMapper(apiName);
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?任何帮助将非常感激.

编辑:

请注意,JsonMapperImpl类没有构造函数.它只是一个公共方法,就是这样.

java constructor dependency-injection guice assisted-inject

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

Kotlin方法链接到列表中的字符串

我有一个字符串列表,我得到的字符串拆分.我需要从列表中的字符串中删除周围的引号.使用方法链接我该如何实现?我尝试了以下,但没有工作.类型干扰失败.

val splitCountries: List<String> = countries.split(",").forEach{it -> it.removeSurrounding("\"")}
Run Code Online (Sandbox Code Playgroud)

string list method-chaining kotlin

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

基于可选值调用void方法时如何使用Optional的map和orElseGet方法

我有一个我正在使用的 Java 可选变量,如下所示。

Optional<Forms> formsOptional = input.data().get().forms();
if(formsOptional.isPresent()) {
    this.doSomething(myValue, forms.get());
} else {
    this.doSomething(myValue, Forms.builder().names(myList).build());
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下, doSomething 方法是一个执行某些操作的 void 方法。由于这是一个空方法,我对如何使用 map().orElseGet() 感到困惑,因为我也没有任何要转换的东西。任何使用任何 Java8 可选技术优化这段代码的建议将不胜感激。

java if-statement optional java-8

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

如何为Singleton类创建多个实例

我使用延迟初始化方法创建了一个Singleton类.这就是getInstance方法是同步的.但是,如果不改变设计模式,有一种方法可以创建Singleton类的多个实例.因为更改Singleton模式将需要进行大量的体系结构更改.请建议一种创建多个实例的方法.请帮助Java.

java singleton design-patterns object instance

0
推荐指数
1
解决办法
1万
查看次数