黑马程序员-hashCode分析

        hashcode是计算对象hash值的方法。实现hashcode的作用,在于如果你的对象要支持存在hash集合中那这个hashcode是需要的。原因是hash集合添加对象时先计算对象的hash值,然后根据hash值查找看有没有相同的对象有就不添加。如果类没有实现hashcode那添加时计算的hash值是与内存地址相关的,这样两个逻辑上相等的对象,hash值不等也被认为不相同,而被添加,这样hash集合里就存在两个逻辑上相等的对象。
        知识点1:对象添加进哈希集合后不要改变对象中参与哈希值计算的字段,否则对象的哈希值会改变,这样在集合中再也找不到这个对象了。这样会产生很多问题,比如,如果找不到对象那也无法在集合中删除该对象了,这样就造成内存泄漏。
     补充知识点:学习java这些天了,发现一个现象,就是可以调用类的main方法,按以前的经验运行main就相当与运行了一个进程一个程序,java里手工显示调用类的main方法,虚拟机是怎么一个处理机制?是和普通方法一样吗?
  详细请查看:http://edu.csdn.net/heima
posted @ 2012-04-16 17:44  lcode  阅读(118)  评论(0编辑  收藏  举报