本文主要是介绍【学习Day16】什么是不可变性?不可变性有哪些优缺点?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 一、什么是不可变性?
- 二、优点
- 三、缺点
一、什么是不可变性?
当类的实例一经创建,其里面的内容不可改变,即无法修改其成员变量,其内存地址是可以有多份的,成为不可变性。
二、优点
- 效率高(
1.当一个对象是不可变的,那么需要拷贝这个对象的内容时,就不用复制它的本身而只是复制它的地址,复制地址只需要很小的内存空间,具有非常高的效率。同时,对于引用该对象的其他变量也不会造成影响。
2.不变性保证了hashCode 的唯一性,无需重复计算哈希算法) - 安全 (在多线程情况下,一个可变对象的值很可能被其他进程改变,这样会造成不可预期的结果,而使用不可变对象就可以避免这种情况同时省去了同步加锁等过程,因此不可变类是线程安全的)
三、缺点
- 不可变类的每一次改变都会new新的对象,在使用得到过程中避免多次改变内容
这篇关于【学习Day16】什么是不可变性?不可变性有哪些优缺点?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!