java为什么要用char[]代替String存储密码
为啥在Swing中,获取password组件的密码getPassword() 返回char[] 而不是返回String。
因为String是不可变的,当创建了一个String时,如果另一个程序复制了这个String, 在GC回收之前,这个String会一直存储在内存中,产生漏泄风险。
用char[]存储密码,可以覆盖char[]中的每一个元素,一定程度上减少漏泄风险。
Loading...
为啥在Swing中,获取password组件的密码getPassword() 返回char[] 而不是返回String。
因为String是不可变的,当创建了一个String时,如果另一个程序复制了这个String, 在GC回收之前,这个String会一直存储在内存中,产生漏泄风险。
用char[]存储密码,可以覆盖char[]中的每一个元素,一定程度上减少漏泄风险。