本文主要是介绍java深浅拷贝及hashmap1.8的源码分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
hashmap1.8的源码分析
类定义
public class HashMap<K,V>extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
由图看出,hashmap1.8的主要优化是当发生多次哈希冲突时加入了红黑树
java深浅拷贝
浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象。
深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。
这篇关于java深浅拷贝及hashmap1.8的源码分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!