一、感悟
这是2022的第一篇博客,感觉时间过的挺快,上大学一年半了,感觉挺好的,各个方面进展还算顺利,但是自我感觉自己有点懒惰了,比起大一那时自己的惰性很深,但是同时比起大一,对于学习的欲望更加的深刻了,总之未来加油就对了!
二、知识总结
学习任务给的是复习源码,但是我感觉源码对于我来说真的难,只能大概的去知道每一步是怎么做的却不能自己去设计更加优化的操作,这可能是我们普通大众与大牛的区别之处,最令人晦涩难懂的便是java中的HashMap真的难,只是大致的知道了其表层的实现,我并没有去深究其中的原因,虽然源码解析遍地都是,但是还是觉得很生硬,集合这一块最终肯定还要继续的进行深入学习。
三、小点
1.java读取控制台的输入账号密码,最好用Console类进行读取,其密码为不可见,且密码最好用char数组进行记录,使用后及时销毁,而String类型进行存储时会存在于字符串常量池中。在对密码进行处理之后, 应该马上用一个填充值覆盖数组元素。且Console与所使用的环境有关,需要保证其不为null.
6、重写equals方法中比较所属类
比较this 与otherObject 是否属于同一个类。如果equals 的语义在每个子类中有所改变,就使用getClass 检测:
if (getClass() != otherObject.getCIassO) return false;
如果所有的子类都拥有统一的语义,就使用instanceof 检测:
if (!(otherObject instanceof ClassName)) return false;
7、反射是很脆弱的,
即编译器很难帮助人们发现程序中的错误, 因此只有在运行时才发现错误并导致异常。