小编Boh*_*ian的帖子

Bouncy Castle API线程安全吗?

充气城堡API线程安全的?特别,

org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher
org.bouncycastle.crypto.paddings.PKCS7Padding
org.bouncycastle.crypto.engines.AESFastEngine
org.bouncycastle.crypto.modes.CBCBlockCipher
Run Code Online (Sandbox Code Playgroud)

我打算在我的应用程序中编写一个单独的Spring bean用于基本级加密支持.由于它是一个Web应用程序,因此多个线程一次访问此组件的可能性更大.因此,踏板安全至关重要.

如果您使用Bouncy Castle遇到过这种情况,请告诉我.

java cryptography bouncycastle

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

你能定义一个具有下限和上限的泛型边界吗?

是否可以定义一个通用绑定:

  • 实现一个接口 SomeInterface
  • 是某类的超类 MyClass

就像是:

Collection<? extends SomeInterface & super MyClass> c; // doesn't compile
Run Code Online (Sandbox Code Playgroud)

java generics

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

如何在Intellij中禁用gutter"覆盖"图标?

我似乎无法禁用Intellij的"覆盖"图标,如下所示:

排水沟图标

当我将鼠标悬停在小图标上时,此文本显示为工具提示:

在java.util.function.Consumer中实现方法'accept'
单击或按Ctrl + U进行导航

要重现,请使用此类:

class Foo implements Consumer<T> {

    @Override
    public void accept(T t) {
    }
}
Run Code Online (Sandbox Code Playgroud)

它们非常烦人,对我来说绝对毫无用处(这不是@Override注释的用途吗?),除了阻止我使用鼠标设置断点(尽管我可以使用精细运动技能).

我已经关闭了所有的选项设置>通用>天沟图标,这有趣/显著并没有包括"工具"选项,但上面的烦恼依然存在.

我怎么能把它们关掉?

我正在使用最新的Intellij - 版本2016.1

configuration icons intellij-idea gutter

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

使用REST客户端调用multipart/form-data Rest Web服务

我有一个基于RESTeasy的REST Web服务(见下文).我正在尝试使用谷歌REST客户端来执行测试我的服务的请求,但我不确定应该如何设置请求.

我不知道如何发送byte[]作为param(filedata).
关于如何测试这个的任何想法?

我得到以下异常:

java.io.IOException:无法获取multipart的边界

request:
-content-type=multipart/form-data
-form params:
test=testvalue
Run Code Online (Sandbox Code Playgroud)

休息方法:

@POST
@Path("/upload")
@Consumes("multipart/form-data")
public Response create(@MultipartForm FileUploadForm form) {
   System.out.println("form=" + form.getTest());
   return null;
}
Run Code Online (Sandbox Code Playgroud)

FileUploadForm Pojo:

import javax.ws.rs.FormParam;
import org.jboss.resteasy.annotations.providers.multipart.PartType;

public class FileUploadForm {
    private byte[] filedata;
    private String test;

    public FileUploadForm() {}

    public byte[] getFileData() {
        return filedata;
    }

    @FormParam("filedata")
    @PartType("application/octet-stream")
    public void setFileData(final byte[] filedata) {
        this.filedata = filedata;
    }

    public String getTest() {
        return test;
    }

    @FormParam("test")
    @PartType("application/json")
    public …
Run Code Online (Sandbox Code Playgroud)

rest jax-rs resteasy

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

输入文件onchange事件未在chrome中触发

这是我在chrome中注意到的奇怪之处.如果用户选择一个文件然后再次选择同一个文件再次打开文件对话框,则chrome不会在firefox执行时触发onchange事件.

有人注意到了吗?

javascript events google-chrome

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

Java最喜欢的重构技术

我在其他人的Java代码中找到了一些常见的代码模式,可以从一些简单的重构中受益.

你的宠物代码模式讨厌什么和他们的修复(以及不明显的原因)?

我已经冒昧地回答了几个我自己的宠物讨厌.

java refactoring

10
推荐指数
3
解决办法
9422
查看次数

将泛型类型作为参数传递给java?

是否可以在变量中保存Type,
以便实例化此类型的List?

//something like that
Type type = Boolean;
List<type> list = new List<type>();
list.add(true);
Run Code Online (Sandbox Code Playgroud)

java generics

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

是否有可能在behat上下文中覆盖步骤定义?

是否有可能让子上下文类扩展另一个子上下文并覆盖函数?

目前我有

class TestContext extends BehatContext {
    /**
     * @Given /^a testScenarioExists$/
     */
    public function aTestscenarioexists() {
        echo "I am a generic test scenario\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

class SpecialTestContext extends TestContext {
    /**
     * @Given /^a testScenarioExists$/
     */
    public function aTestscenarioexists() {
       echo "I am a special test scenario\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

在特征上下文中,我告诉它们SpecialTestContext作为子上下文.

当我运行测试behat抱怨

[Behat\Behat\Exception\RedundantException]
步骤"/ ^ testScenarioExists $ /"已在SpecialTestContext :: aTestscenarioexists()中定义

有人可以用这个指向我正确的方向吗?

为了让一些进一步的信息,为什么我试图做到这一点我想实现是运行与不同的环境场景,并在小黄瓜文件中指定的环境的能力,例如:

Scenario: Test with generic environment
Given I am in the environment "generic"
    And a test …
Run Code Online (Sandbox Code Playgroud)

behat

10
推荐指数
2
解决办法
3104
查看次数

如何合理地确定代码块是否已被JIT编译?

在进行java代码的性能测试时,您需要测试JIT编译的代码,而不是原始的字节码.要使字节码被编译,必须通过多次执行代码来触发编译,并且还允许后台线程有足够的产生时间来完成编译.

  • 代码路径的"预热"执行的最小数量是什么,需要"非常自信"代码将被JIT编译?
  • 主线程的最小休眠时间是什么,"非常有信心"编译已经完成(假设代码块很小)?

我正在寻找一个可以安全应用于任何现代操作系统的门槛,比如Mac OS或Windows用于开发环境,Linux用于CI /生产.

java testing jit bytecode performance-testing

10
推荐指数
3
解决办法
468
查看次数

如何将Optional转换为OptionalInt?

我有一个Optional我想"转换"为一个OptionalInt,但似乎没有一个简单的方法来做到这一点.

这就是我想要做的(人为的例子):

public OptionalInt getInt() {
    return Optional.ofNullable(someString).filter(s -> s.matches("\\d+")).mapToInt(Integer::parseInt);
}
Run Code Online (Sandbox Code Playgroud)

但是,没有mapToInt()办法Optional.

我能想到的最好的是:

return Optional.ofNullable(someString)
    .filter(s -> s.matches("\\d+"))
    .map(s -> OptionalInt.of(Integer.parseInt(s)))
    .orElse(OptionalInt.empty());
Run Code Online (Sandbox Code Playgroud)

但这似乎不够优雅.

我是否遗漏了JDK中可以使转换更优雅的东西?

java optional java-8

10
推荐指数
2
解决办法
4692
查看次数