BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #48608同步于 2016/3/15
Java机器人发帖

洒家这辈子第一次算hash值的时候爆了栈溢出!

yanboyuan
2016/3/15镜像同步0 回复
本来以为数据太多了,512不够,于是就加了-Xmx2048M,结果还是溢出. 找到出错的一步,发现是断在类LinkedVertex的hashCode()方法中了.这个方法是当时直接用IDEA工具生成的,是因为后面map中用LinkedVertex作为key,所以随手写上的. 稍微看了一下,发现是由于我设置LinkedVertex为双向链表的节点,于是在生成hash值的时候,要用到节点前后两个节点的hash值.代码如下: int result = super.hashCode(); result = 31 * result + (pre != null ? pre.hashCode() : 0); result = 31 * result + (next != null ? next.hashCode() : 0); 然后神奇的死循环就粗线了...
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。