当前位置: 首页 > 知识库问答 >
问题:

java慢速:熵相关问题

邹华皓
2023-03-14

我遇到了java在SSL上使用时速度较慢的问题。解决方案是添加

-Djava.security.egd=file:/dev/./urandom
$JAVA_HOME/jre/lib/security/java.security

现在,java.security文件已经包含

securerandom.source=file:/dev/urandom
  1. “/dev/urandom”与“/dev/./urandom”不同的原因和方式。为什么java不接受“/dev/urandom”
  2. 对于我正在运行的JVM,如何判断它们是否使用了正确的urandmon设备(vs random)

共有1个答案

邓昀
2023-03-14

这实际上是在1.3或1.4天内引入JVM的一个黑客

http://bugs.sun.com/view_bug.do?bug_id=4705093

http://bugs.sun.com/view_bug.do?bug_id=6202721

基本问题是,在本机JVM代码中,他们硬编码/dev/urandom来实际使用/dev/random来尝试确保足够的熵。由于/dev/urandom应该被保证不阻塞,因此如果没有足够的熵可用,就会产生阻塞的意外后果。

硬编码专门针对字符串/dev/urandom,因此提供了解析为相同的东西但不匹配导致所需行为的东西。如果您编写/dev/./urandom代码,您就绕过了硬编码的别名,获得了预期的urandom熵源。

 类似资料:
  • 问题是:执行时间非常慢,我会说是永恒的。即使我减少了一些if语句的比较数,情况还是一样的。 Protege似乎非常快地计算出这些推断的公理,并且它基于我正在使用的相同API(OWLAPI)。那么,我是不是走错了路?

  • 整笔记时发现了个挺奇怪的问题 (Java 版本是 17) 首先, int 类型的取值范围是 -2147483648 ~ 2147483647 那么, 如果我定义一个这样的值, 在通过运算突破极值范围, 那他还是个 int 类型吗? 于是我试着写了这样一段代码 这个问题没有什么实际的意义, 只是纯好奇 有没有大佬知道, numGreater 的值为什么会等于 -2 ? 好像只要在极限的边缘做运算得出

  • 现在有三台ES服务器,索引里大概有7000条数据,每条数据是内容放到txt中大概300kb以上,按某个查询条件查询的结果数量是4000多条数据。当size设置成9999的时候,需要查询30秒以上,这是为什么呢,有没有优化方案。

  • 我正在尝试写一些程序,在那里我加载图像到一个面板。以下是我的5个问题: 1>可以加载什么样的(扩展)图像有限制吗?我试着加载一个.bmp文件,即使我用.jpg重命名了它,它也没有加载。但是,加载了一些扩展名为.png或.jpg的其他文件。 就是这样。用一些例子来详细说明会很好。提前道谢。

  • 我正在试用Flutter,我的应用程序在仿真器和实际设备上的响应都非常非常慢。我收到这样的警告 跳过了51帧!应用程序可能在其主线程上做了太多的工作。 我知道Dart是一种单线程编程语言,在Android中,我曾使用用于异步的好的旧块来解决这一问题。我试图在Flutter中应用相同的方法,并且我阅读了和排序,但是当您从Internet读取数据时,这些示例似乎是针对这些示例的。我的应用程序在这个阶段

  • 熵 参考:[https://zh.wikipedia.org/wiki/熵_(信息论](https://zh.wikipedia.org/wiki/熵_%28信息论%29) 在信息论中熵(entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。 熵也可以理解为不确定性的量度,因为越随机的信源的熵越大。这里的想法是,比较不可能发生的事情,当它发生了,会提供更多的信