-Djava.security.egd=file:/dev/./urandom参数的作用
使用方法:
1.将$JAVA_HOME/jre/lib/security/Java.security内,将securerandom.source的内容改为file:/dev/./urandom即可
2.java -jar -Djava.security.egd=file:/dev/./urandom
作用:
tomcat部署项目发现卡在Root WebApplicationContext : initialization completed in xxxms
1.整个过程没有报错,但是启动时间很长。
2.查阅资料发现由于tomcat启动时产生随机数导致jvm阻塞,可能是多次启动tomcat导致熵池被用空造成阻塞。
在apache-tomcat官方文档:如何让tomcat启动更快里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用“熵源”(entropy source)的策略。他提到tomcat7的session id的生成主要是通过java.security.SecureRandom生成随机数来实现的,随机数算法使用的是“SHA1PRANG”。
3.在sun/oracle的jdk里,这个算法的提供者在底层依赖到操作系统提供的随机数,在linux上,与之相关的是/dev/random和dev/urandom/
当熵池为空时,来自/dev/random的读取操作将被阻塞,直到熵池收集到足够的环境噪声数据。这么做的目的是成为一个密码安全的伪随机数发生器,熵池要有尽可能大的输出。对于生成高质量的加密密钥或者是需要长期保护的场景,一定要这么做。
-Djava.security.egd=file:/dev/./urandom参数的作用相关推荐
- java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar
1 $JAVA_OPTS 原文链接:链接:https://www.jianshu.com/p/147422fca01b 我们知道,对于 tomcat 来说,设置 JAVA_OPTS 就可以给 jvm ...
- Java:-Djava.security.egd=file:/dev/urandom
-Djava.security.egd=file:/dev/urandom 作用 http://codingdict.com/questions/121478 https://blog.51cto.c ...
- java.security.egd 作用
SecureRandom在java各种组件中使用广泛,可以可靠的产生随机数.但在大量产生随机数的场景下,性能会较低.这时可以使用"-Djava.security.egd=file:/dev/ ...
- /dev/urandom
/dev/urandom则是一个非阻塞的发生器: dev/random的一个副本是/dev/urandom ("unlocked",非阻塞的随机数发生器),它会重复使用熵池中的数据 ...
- /dev/random和/dev/urandom
/dev/random和/dev/urandom是unix系统提供的产生随机数的设备,很多应用都需要使用random设备提供的随机数,比如ssh keys, SSL keys, TCP/IP sequ ...
- linux dev urandom,Linux random vs urandom 区别
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? /dev/random In Unix-like operating systems, /dev/random is a ...
- 探秘Linux特殊设备文件:(/dev/null,/dev/zero,/dev/random,/dev/urandom等)
目录标题 第一章:设备文件简介(Introduction to Device Files) 1.1 设备文件概述(Overview of Device Files) 1.2 设备文件类型(Types ...
- [转帖]关于 /dev/urandom 的流言终结 | Linux 中国
关于 /dev/urandom 的流言终结 | Linux 中国 2019年05月05日 14:03:52 技术无边 阅读数 202 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权 ...
- 关于 /dev/urandom 的流言终结
有很多关于 /dev/urandom 和 /dev/random 的流言在坊间不断流传.然而流言终究是流言. 本篇文章里针对的都是近来的 Linux 操作系统,其它类 Unix 操作系统不在讨论范围内 ...
最新文章
- ubuntu 安装mysql5.6
- 卸载 插件_永远都不会卸载的CAD插件,好用到怀疑人生
- 汇编指令prefix rep:
- Android Studio 3.0 下 Cordova 打包时 Gradle 兼容性问题解决
- typora+picgo+gitee搭建免费图床纵享丝滑
- Uboot 启动流程分析
- 2020最新,100道电商大厂必问面试题:附完整答案
- Python之协程、异步IO、redis缓存、rabbitMQ队列
- 拓端tecdat|R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
- Context Menu控件
- wxwindows qt
- 经典剖析电源PCB布板与EMC的关系(上)
- KB4484127 更新导致ACCESS数据库查询报 Query '' is corrupt 异常解决方案
- Qt 之 QQ系统表情(一)
- 网管维修必备工具_7手机维修必备工具
- HTML简单制作一个网页
- IE浏览器js 中http请求,中文传参报400错误-解决方法
- bboss es对比直接使用es客户端的优势
- [下属谈话]管理者与下属谈话的技巧以及注意点
- vue项目国际化 vue-i18n以及踩坑解决 小姐姐手把手教你VUE国际化~