`
shihuan830619
  • 浏览: 583765 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JDK中的随机数机制探究

阅读更多
    今天有同事问起关于JDK1.8中默认是random问题。
    JDK1.8中的java security默认变成random了,JDK1.6和JDK1.7中的java security默认是urandom。

    这里就详细探究一下JDK中random与urandom的关系。
    首先:random是阻塞机制的,urandom是非阻塞机制的。
    其次:urandom最终是调用random的。
    最后:random的实现机制是收集操作系统的动态指标并形成UltraTree,UltraTree分支越深越复杂random形成的就越快。

    根据上面的三点可以看出,random本身可以生成随机数,但需要操作系统的CPU、Memory、Disk比较忙碌的情况下才会快,否则就需要用urandom这种非阻塞机制函数来生成随机数。

    如果非得用random来生成随机数,就要不停的移动鼠标来形成UltraTree。

    笔者这里说一个实例,有朋友用Putty生成过安全key吗?在生成的过程中要把鼠标放到空白区域不停的滑动才会生成的快,这个原理也是在收集系统的UltraTree指标。
分享到:
评论

相关推荐

    JDK1.8中文文档 JDK1.8中文 jkd8中文文档 JDK中文版

    再者,JDK1.8引入了默认方法(Default Methods)到接口中,这是一个重大的设计改变。默认方法允许在接口中定义具有实现的方法,这样可以在不破坏已有实现的情况下为接口添加新的功能。这在升级API时尤其有用,避免了...

    JDK中文手册(JAVA).rar

    JDK中文手册(JAVA),JDK API手册

    jdk17中文说明文档

    "方便已义中文方式浏览jdk中的说明"强调了这个文档是中文翻译版,使得开发者能够更轻松地理解JDK中的各种类、接口、方法和概念,降低了学习和使用的难度。 **标签解析:** "范文/模板/素材" 这个标签可能是指这个...

    JDK中文文档

    JDK文档会涵盖JVM的工作原理,包括类加载机制、垃圾收集(GC)以及内存区域(如堆、栈、方法区)的管理。 **5. 异常处理** Java的异常处理机制是通过try-catch-finally块来实现的。文档会详细解释如何抛出、捕获和...

    jdk8中文说明文档_CHM.zip jdk1.8文档 jdk1.8说明文档

    1. **Lambda表达式**:JDK 8最大的亮点之一就是引入了Lambda表达式,它使得函数式编程风格在Java中成为可能。Lambda允许将匿名函数作为参数传递,简化了多线程编程和事件处理,尤其是对集合操作的处理,如Stream API...

    jdk1.8 源码中文版,jdk直接显示中文注释

    下载后直接去本机jdk目录里替换jdk中的src.zip 再打开idea就能看到中文版的源码注释 示例 https://blog.csdn.net/a7459/article/details/106495622

    jdk_8中文文档

    3. **默认方法**:在接口中可以定义默认方法,允许接口扩展已有功能而不破坏现有实现。这使得在保持向后兼容性的前提下,可以扩展API。 4. **Stream API**:Stream API是处理集合的一种新方式,提供了丰富的操作集...

    JDK 1.8中文API文档

    JDK 1.8是Java发展历程中的一个重要版本,引入了许多新特性和改进,使得开发者能够更高效地编写代码。 1. **Lambda表达式** JDK 1.8引入了Lambda表达式,这是一种简化函数式编程的方式。它允许我们将函数作为参数...

    jdk8帮助文档 jdk8帮助文档jdk8帮助文档

    jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助...

    jdk8中文api手册

    jdk8中文api手册,无广告版,优化排版

    JDK8 中文帮助文档(jdk api 1.8 google.CHM)

    这个文档集合,尤其是"jdk api 1.8_google.CHM",是JDK8的中文API(应用程序接口)帮助文档,它是开发者日常开发中的重要参考资料。 **1. Lambda表达式** JDK8引入了Lambda表达式,这是一种简洁的函数式编程特性,...

    jdk8中文手册

    JDK 8最重要的特性之一就是引入了Lambda表达式,它使得函数式编程在Java中变得更加简洁。Lambda表达式可以被用作方法参数,可以实现接口中的单个抽象方法,简化了匿名内部类的使用。例如,`Function`、`Predicate` ...

    JDK11安装包,JDK11安装包

    JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...

    jdk 1.8 中文api文档

    以上只是JDK 1.8 API中的一部分重要特性。通过阅读中文API文档,开发者可以深入了解这些特性的用法和细节,从而更好地利用Java 1.8开发高效、可靠的软件。在实际工作中,结合源代码学习和实践,能够更好地掌握这些...

    查看JDK中变量的值, debug JDK

    在Java开发过程中,调试是必不可少的一个环节,而有时我们可能会遇到在调试时无法查看JDK源代码中变量的值的情况。这篇文档详细介绍了如何解决这一问题,主要分为两个部分:编译JDK的源代码(src.zip)以及将编译后...

    JDK8 API 中文 文档.CHM

    在JDK8中,有许多关键知识点和更新,下面将详细阐述其中的重点内容: 1. **Lambda表达式**:JDK8引入了lambda表达式,这是一种简洁的匿名函数表示方式,使得函数式编程风格在Java中变得可能。Lambda表达式可以作为...

    JDK 11 中文帮助文档.zip

    8. **增强型switch表达式(JEP 305)**: switch语句在JDK 11中得到了增强,不仅可以作为语句,还可以作为表达式,支持模式匹配,使代码更简洁。 **API变更与增强** JDK 11的API有许多细微的调整和增强,例如: - ...

    JDK中文参考手册---

    Jdk中文参考手册,该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

    JDK中英文档

    这份"JDK中英文档"是一个极其宝贵的资源,尤其对于那些在学习Java编程过程中遇到英文文档阅读障碍的初学者来说,它提供了一条清晰易懂的学习路径。 首先,我们来看一下JDK的主要组成部分: 1. **Java编译器**:`...

    JDK中文帮助文档

    JDK中的中文帮助文档是开发者的重要参考资料,它详细解释了Java平台的类库、接口、方法和其他重要概念,帮助程序员理解并有效地利用Java API。 **1. Java API** Java API(Application Programming Interface)是...

Global site tag (gtag.js) - Google Analytics