面试最常问的问题1) equals源码
1、equals比较的什么?
2、有没有重写过equals?
3、有没有重写过hashCode?
4、什么情况下需要重写equals()和hashCode()?
tips:既然没区别,那我们看一下,内存地址到底是个啥玩意目标:内存地址是如何来的?
tips: 加载到方法区2、分配内存空间
这个阶段只是User类的信息进入方法区,还没有为两个user来分配内存
tips:1、先拿User下手,看看它的默认行为(com.eq.EqualsObjTest)
面试最常问的问题
1、equals比较的什么?
2、有没有重写过equals?
3、有没有重写过hashCode?
4、什么情况下需要重写equals()和hashCode()?
tips:面试常问的问题先来看一段代码:(com.eq.Intern)
intern是做什么的?
版本声明:(JDK1.8)2)valueOf里的秘密
new String是在堆上创建字符串对象。
当调用 intern() 方法时,
JVM会将字符串添加(堆引用指向常量池)到常量池中
注意:
1、1.8版本只是将hello word在堆中的引用指向常量池,之前的版本是把hello word复制到常量池
2、堆(字符串常量值) 方法区(运行时常量池)不要搞反了
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |