![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
一天一道面试题
文章平均质量分 50
兮何
秃头程序员
展开
-
多线程中sleep()和wait()的区别
水一下。原创 2023-05-26 22:08:20 · 181 阅读 · 0 评论 -
浅拷贝和深拷贝的区别
clone方法:在Java中是用clone()方法实现深拷贝的,除了对象本身被复制外,对象所包含的所有成员变量也将复制。定义:将对象的引用复制了一份,即两个不同的引用指向了同一个内存地址,那么在改变任一个引用的值都是在改变这个内存地址的所存储的值,因为它们作用的对象是同一个内存地址,所以两个变量的值都会改变。说明姓名和年龄属性指向的是同一个内存地址,只不过引用不同,那么我们怎样才可以实现姓名和年龄的引用不同,同时内存地址也不同的深拷贝呢?我们可以看到,浅拷贝作用的是同一个内存地址。原创 2023-05-24 23:13:12 · 136 阅读 · 0 评论 -
两个对象的HashCode相同,则equals也为true吗
当我们比较基本数据类型时,优先使用==比较,当比较字符串内容和封装类时,优先使用equals比较。当两个对象的HashCode相同时,equals不一定为true,如果两个不同的对象通过特殊的算法使得他们返回的hash值相同,但是他们之间的equals比较仍然为false。原创 2023-05-23 22:51:17 · 201 阅读 · 0 评论 -
Java创建对象的五种方式
【代码】Java创建对象的五种方式。原创 2023-05-19 10:53:06 · 123 阅读 · 0 评论 -
在HashMap中当数组长度到达64且链表长度大于8时,为什么链表转为红黑树
一般情况下,HashMap底层使用数组+链表,当数据量非常大时,长度大的链表(大于8)自动转成红黑树,此时,HashMap底层使用数组+链表+红黑树。至于这个阈值是系统设置的。当链表长度降到6时就自动转换回链表。通常情况下不会使用红黑树,当数据量较小时,如何强制使用红黑树,不但不能提高效率,反而耗费内存空间。只有当数据量非常大时,使用红黑树才能更好地提高效率。原创 2023-05-18 11:10:25 · 2165 阅读 · 1 评论