
Java基础
文章平均质量分 77
roderickzxy
好好学。。
展开
-
为什么要同时重写hashcode和equals?
因为jdk基于这个特性,实现了HashMap或HashSet等类,key在使用之前都经过hashcode,所以,假如一个类只重写equals方法,创建了两个字段值一致的对象(equals返回true),而hashcode没有重写,默认根据内存地址来计算,所以两者不一致。可以看到,实现上其实是同时判断了 “hashCode是否一致” 和 “是否equals” ,因为它遵循了JDK对hashCode的约定(两个对象调了equals返回true,则两个对象的hash code是一样的)。原创 2020-01-05 23:14:48 · 1186 阅读 · 2 评论 -
String为什么要设置成Final类型-自我总结
关于String为什么设计成Final的自我总结原创 2017-05-12 15:13:45 · 2925 阅读 · 0 评论 -
jvm内存模型总结
JVM内存模型之前看过很多关于jvm内存模型的文章,什么有堆栈,方法区,程序计数器等划分,也有文章说主存和工作内存的模型。 这里我觉得无论是jvm内存区域的划分,还是主存工作内存的使用,都是属于jvm内存模型内的知识。基于自己的理解,简单总结一下,单纯只是个人总结,不一定是正确的,假如看到有错误的地方可以帮忙指出。一、jvm运行期的内存区域划分:上述图可以比较直观的看出jvm运行期,哪些内存区域属原创 2017-08-19 12:13:30 · 574 阅读 · 2 评论