String不可变的好处
| 2020-9-21
0  |  0 分钟
  • 节省大量的 Java 堆空间,因为不同的 String 变量可以在String Pool中引用相同的 String 变量(实际String对象的值)。
  • 密码作为String传递以获取数据库连接.如果String是可变的,黑客可以轻松改变它的引用值以导致应用程序中出现安全问题。
  • 线程安全的,一个 String 实例可以在不同的线程中共享。 这避免了使用同步(synchronization)来保护线程安全,String是隐式线程安全的.
  • String用在了classloader 类加载器中,不可变性提供了正确的类由Classloader加载的安全性
  • 它的 hashcode 在创建时就被缓存了,它不需要再次计算,并且它的处理速度比其他 Object对象要快。这也是为什么 HashMap 常用 String 对象作 key的原因
目录