小编ovu*_*tin的帖子

更快地替代Java的反思

我们知道,反射是一种灵活但缓慢的方法,用于在运行时维护和修改代码的行为.

但是如果我们必须使用这样的功能,那么与用于动态修改的Reflection API相比,Java中是否有更快的编程技术?这些替代品反对反思的利弊是什么?

java reflection performance

56
推荐指数
3
解决办法
4万
查看次数

带有NativePRNG和SHA1PRNG的SecureRandom

我需要生成加密强大的随机数和字节数组.为此,我正在使用Java的SecureRandom类.但我不确定在加密强度方面选择哪种PRNG算法.

以下哪个实例会产生更难以预测的数字?或者他们是平等的?

SecureRandom nativePrng = SecureRandom.getInstance("NativePRNG")
SecureRandom sha1Prng = SecureRandom.getInstance("SHA1PRNG")
Run Code Online (Sandbox Code Playgroud)

此外,我们能够使用"SUN"提供程序(例如SecureRandom.getInstance("SHA1PRNG", "SUN"))生成这些实例.这会有所作为吗?

提前致谢.

java random cryptography prng

35
推荐指数
2
解决办法
3万
查看次数

用于弹性搜索的Firefox插件

Chrome有一个很好的扩展,名为Sense,用于弹性搜索.但我找不到类似的Firefox插件.

你能推荐我吗?

firefox firefox-addon elasticsearch

25
推荐指数
0
解决办法
7495
查看次数

如何从GWT调用RESTFUL服务?

我正在使用GWT作为Web开发框架.我需要从GWT客户端代码访问一些REST服务.此外,我需要解析JSON(或XML),这是这些服务的响应格式.哪个是解决这个问题的最佳方法?

提前致谢.

java rest gwt

24
推荐指数
2
解决办法
4万
查看次数

JAXB java.util.Map绑定

我有一个Json响应,如下所示:

{
    "data": [
        {
            "param1": "value1",
            "param2": "value2",
                    .
                    .
                    .
            "paramN": "valueN"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我不知道参数的名称和数量.因此,我需要并希望将所有这些参数绑定到由<"paramX","valueX">元组组成的java.util.Map字段.为此,我尝试了以下代码,但"parametersMap"字段返回null.

@XmlRootElement(name="data")
@XmlAccessorType(XmlAccessType.FIELD)
public class Parameters {
    @XmlElement
    private Map<String,String> parametersMap;

    // Getter and setter for parametersMap
}
Run Code Online (Sandbox Code Playgroud)

如何通过JAXB注释实现这样的绑定?

提前致谢.

java jaxb jaxb2

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

为什么Java的序列化比第三方API慢?

在处理套接字和序列化对象时,我注意到有一些第三方库可以在Java上更快地进行对象序列化,例如KryoFST.到目前为止,我期望Java的序列化得到优化并且速度最快.因为,它依赖于语言,并提供预期更快的低级解决方案.但是,考虑过的库声称它们比Java更快.

有人可以解释为什么Java无法提供最快的序列化解决方案吗?为了什么它放弃了更好的表现?

提前致谢.

java performance serialization

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

重复使用Java的SecureRandom

我对使用它有点困惑SecureRandom.我需要在循环中生成n个 安全随机数.为每一代使用相同的SecureRandom实例是否安全?以下解决方案在加密强度方面有什么区别吗?

1)没有播种的单个实例

SecureRandom sr = new SecureRandom();
for(int i = 0; i < n; ++i) sr.nextInt();
Run Code Online (Sandbox Code Playgroud)

2)每一代的新实例

for(int i = 0; i < n; ++i) new SecureRandom().nextInt();
Run Code Online (Sandbox Code Playgroud)

3)带有播种的单个实例

SecureRandom sr = new SecureRandom()
for(int i = 0; i < n; ++i) {
    byte[] seed = sr.generateSeed(32);
    sr.setSeed(seed);
    sr.nextInt();
}
Run Code Online (Sandbox Code Playgroud)

java security random cryptography

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

在Elasticsearch查询中使用聚合函数

我使用elasticsearch 0.90.10,我想查询中使用,比如聚合函数来执行它的搜索sum(),avg(),min().

假设我的数据是这样的

[
    {
        "name" : "Alice",
        "grades" : [40, 50, 60, 70]
    },

    {
        "name" : "Bob",
        "grades" : [10, 20, 30, 40]
    }, 

    {
        "name" : "Charlie",
        "grades" : [70, 80, 90, 100]
    }
]
Run Code Online (Sandbox Code Playgroud)

假设我需要取平均成绩大于75(即avg(grades) >= 75)的学生.如何使用DSL,过滤器或脚本在ES中编写这样的查询?

提前致谢.

querying aggregate-functions elasticsearch

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

在IntelliJ Idea 14上玩Activator问题

我在IntelliJ IDEA 14上遇到以下问题:

我使用Activator(v1.2.10)创建了一个Play(Scala)项目.然后,我使用activator idea命令将其转换为IDEA项目.当我用IDEA 14(Community Edition)打开项目时,SBT模块未启用.因此,类路径中不包含build.sbt文件中的新依赖项.此外,该项目未列入IDEA的SBT观点.

IDEA显示以下警告:

" 这个IDEA项目是通过gen-idea工具从SBT项目转换而来的,该工具目前依赖于传统的Scala项目模型.请考虑通过Import项目操作使用内置的SBT支持. "

请注意,Scala和SBT插件已安装在IDEA上.

在IDEA 13中我没有遇到同样的问题.

scala intellij-idea sbt playframework typesafe-activator

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

为什么Base64.decode为不同的字符串生成相同的字节数组?

我正在使用URL安全的Base64编码来编码我随机生成的字节数组.但我解码时遇到问题.当我解码两个不同的字符串(除了最后一个字符都相同)之外,它产生相同的字节数组.例如,对于两者"dGVzdCBzdHJpbmr""dGVzdCBzdHJpbmq"字符串,结果都是相同的:

Array(116, 101, 115, 116, 32, 115, 116, 114, 105, 110, 106)
Run Code Online (Sandbox Code Playgroud)

对于编码/解码,我使用java.util.Base64这种方式:

// encoding...
Base64.getUrlEncoder().withoutPadding().encodeToString(myString.getBytes())
// decoding...
Base64.getUrlDecoder().decode(base64String)
Run Code Online (Sandbox Code Playgroud)

这次碰撞的原因是什么?除了最后一个之外,是否还可以使用字符?我如何解决这个问题并使解码为每个不同的字符串返回不同的字节数组?

java base64 encoding decoding

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