这里有几个不同的问题。首先,术语“常量池”指的是用于字符串和数字文字的类文件的非常特定的部分,或者是指从驻留在JVM中的这部分类文件生成的数据结构。除非密码是课程文件的一部分,否则不会在此处存储密码。
但是,确实有一些String对象通过String实习在整个程序中存储和共享。任何字符串文字都会自动插入,您调用intern()方法的所有字符串也会自动插入。据我所知,没有其他字符串以这种方式存储,因此,除非您自己自动设置包含密码的字符串,否则我不需要担心这一点。
要注意的另一个问题是,如果您不希望密码驻留在内存中,则可能需要谨慎对待垃圾回收,因为不再引用的String可能仍在内存中。同样,如果使用某些子字符串之类的子字符串之类的子字符串之类的字符串方法,则在使用完整个密码字符串后,可以保留整个密码字符串。
但是,如果您担心的是其他Java代码是否能够看到已被锁定的旧密码或仍保留在内存中的旧密码,则无需担心。无法迭代或查看内部字符串池的元素,也无法破解字符串以查看其支持数组。



