哈希编码相当于一个文件标后宪样志,任何一个被上传的文件,网站都会给予一个哈希编码,如果其他用户下载,可以通过哈希表来查询文件,从而下载文件。包括所有的下载软件,也是通过哈希编码的编码库来判断文件的。
哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。也有相同的情况,看程序员如何写哈希码受曲取金斯质的算法。
扩展资料:
方法应用
e有垂丰促施胡费械守巴耐quals方法在hibernate中的应用。
equals方法是默认的判断2个对象是否相等的方法,在Object类里有实现,判断的是2个对象的内存地址。在hibernate中,不允许存在天部英同类对象中有2个一样的实例。hibern教众胜食ate通过equals方法做判断。如可终诉胡药曲失汉叶:
Useru1=newUser(“张三”);
Useru2=newUser(“李四”);
Useru3=newUser(“张三”);
按照项目需求,用席语控送户只要名字相同,就表示同一个用户,所以认为,u1和u3是同一个人,同一个对象。但是因为u1,u2,u3三者的内存地址都各不相同,所以hibernate会认为这是3个不同的对粉读触象。这与假设的出绝织句了矛盾。因此,将覆盖Object类中的e举善费研除座请香失规quals方法。
publicclassUs永花er{
privateStringuserName;
….//get式待已现全万革,set方法省
//覆盖Object里的equals方法
publicbooleanequals(Obje认轻ctarg0){
if(!(arg0instanceofUser)){
returnfalse;
}
Useruser=(处吧挥附二待对User)arg0;
//如果名字相同,则表示属于同一个对象。
if(user.getName().equals(this.getName)){
returntrue;
}else{
returnfalse;}
}
这样hibern附模数钱史究远ate在插入数据的时候,如果传过来一个叫”张三”的用户,hibernate会先判断有没有叫“张三”的用户,如果没有析粒听映含,就允许插入,如果有,就不允许插入。这样做可以保证数据的高度一致性,不同的项目有不应态许烟下跟同的需求,所以要根据自己的需求来覆盖equals方法。
参考资料来源:百度百科-哈希码
标签:哈希,磁力,衔接