项目中经常使用bean,entity等类,绝大部分数据类类中都需要get、set、toString、equals和hashCode方法,虽然eclipse和idea开发环境下都有自动生成的快捷方式,但自动生成这些代码后,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等 ...
分类:
其他好文 时间:
2018-11-15 15:30:43
阅读次数:
156
在项目开发过程中,经常会涉及到一些调整很少但又必不可少的环节,比如实体类的Getter/Setter方法,ToString方法等。这时可以使用Lombok来避免这种重复的操作,减少非核心代码的臃肿,提高编码效率。 如何在IntelliJ IDEA中引入Lombok Lombok注解用途 (参考:ht ...
分类:
编程语言 时间:
2018-11-12 17:40:10
阅读次数:
233
equals hashcode 当新建一个java类时,需要重写equals和hashcode方法,大家都知道!但是,为什么要重写呢? 需要保证对象调用equals方法为true时,hashcode必须相同. 先看下面的例子: 没有重写equals和hashcode方法User类 public cl ...
分类:
其他好文 时间:
2018-11-12 15:46:25
阅读次数:
165
hash hashcode java 1.hash 2.hash算法 1.hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于 ...
分类:
编程语言 时间:
2018-11-12 14:59:44
阅读次数:
210
在上一篇博文Java中equals和==的区别中介绍了Object类的equals方法,并且也介绍了我们可在重写equals方法,本章我们来说一下为什么重写equals方法的时候也要重写hashCode方法。 先让我们来看看Object类源码 hashCode:是一个native方法,返回的是对象的 ...
分类:
编程语言 时间:
2018-11-12 13:20:43
阅读次数:
259
nosql数据库能解决关系型数据库遇到的性能和扩展性的问题,本博客将以mongodb和redis两种nosql数据库为基础,简单的介绍下面两个业务场景的解决方案: 1.查询排行榜(以当日总步数排名为例,查询排名前200的用户); 2.统计活跃用户数(统计某个移动端app软件在各个下载渠道的活跃设备数 ...
分类:
其他好文 时间:
2018-11-11 11:42:23
阅读次数:
194
1 单点的redis利用jedis客户端连接 如何连接 模拟缓存逻辑在系统中执行步骤 hash取余的数据分片计算逻辑 key值是一个取值范围非常大的内存值; hash取余公式 (key.hashCode()&Integer.MAX_VALUE)%N N是数据分片节点的数量(3) [0,1,2] 取值 ...
分类:
其他好文 时间:
2018-11-10 14:55:45
阅读次数:
175
HashSet: 特点: 1.无序性 2.不能重复{对象类型除外}; 3.允许有null,但是只能有一个. 4.不是线程安全的.{效率高} 注意:判断两个对象是否相等,必须要重写equals和hashCode方法,符合条件才认为是相等的. LinkedHashSet: 1.有序性{按照插入的顺序} ...
分类:
其他好文 时间:
2018-11-07 11:20:02
阅读次数:
112
常用方法 hash(key) 该方法中返回的值是将得到的hash值(传入的值的hashCode方法)的高16位与低16位进行异或操作。这样做的目的在于减少hash之间的碰撞。具体可看这篇: "为什么hash将高16位与低16位进行异或操作" V put(K key, V value) 参数: has ...
分类:
其他好文 时间:
2018-11-06 17:50:18
阅读次数:
289
结论:在“+”运算中,当任何一个对象与一个String对象,连接时,会隐式的调用其toString()方法,默认情况下,此方法返回“类名@+hashCode”。为了返回有意义的信息,子类可以重写toString()方法。 ...
分类:
其他好文 时间:
2018-11-04 19:14:05
阅读次数:
135