1、StringBuilder与StringBuffer
StringBuilder线程不安全,StringBuffer的方法上加了synchronized修饰是同步的线程安全
2、Math与StrictMath
StrictMath 保证在各个系统环境的运行结果相同,而Math却不一定。
两者的toRadians方法不同,StrictMath 是带 strictfp 声明的,保证其指令使用严格的浮点计算,Math是不带 strictfp 声明,会有浮点溢出的可能,导致结果不完全精确。
3、Random与SecureRandom
Random产生随机数的种子是可以被反推的并推测出接下来会产生的随机数(默认使用系统时间作为种子)
SecureRandom使用系统随机源作为种子,种子及产生随机数不可被预测。操作系统收集了一些随机事件,比如鼠标点击,键盘点击等等,SecureRandom 使用这些随机事件作为种子。