码迷,mamicode.com
首页 > 编程语言 > 详细

java中String为什么设计成不可变对象

时间:2019-12-14 13:36:40      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:不可变   shm   说明   对象   源码   需要   缓冲   操作   字符   

 

设计成不可变对象为了安全和高效

1.安全方面:举例说明:在文件操作或反射操作的时候需要传递字符串,如果是设计成可变的那么就会造成安全问题

2.高效:举例说明 字符串源码中会将hashcode缓冲下来,那么比如在HashMap中以字符串为key时第一次计算出hash值放缓冲中,以后直接就可以获取到这个值了,不需要重新计算了

 

技术图片

 

java中String为什么设计成不可变对象

标签:不可变   shm   说明   对象   源码   需要   缓冲   操作   字符   

原文地址:https://www.cnblogs.com/wgDream/p/12038838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!