小编c_m*_*ker的帖子

OpenJDK的重组机制

在搜索HashMap实现后,在http://www.docjar.com/html/api/java/util/HashMap.java.html上找到此代码.

  264       static int hash(int h) {
  265           // This function ensures that hashCodes that differ only by
  266           // constant multiples at each bit position have a bounded
  267           // number of collisions (approximately 8 at default load factor).
  268           h ^= (h >>> 20) ^ (h >>> 12);
  269           return h ^ (h >>> 7) ^ (h >>> 4);
  270       }
Run Code Online (Sandbox Code Playgroud)

有人可以对此有所了解吗?评论告诉我们为什么这个代码在这里,但我想了解这是如何改善错误的哈希值以及它如何保证位置具有有限的碰撞数量.这些神奇数字意味着什么?

java hash openjdk bit-manipulation hashmap

18
推荐指数
1
解决办法
941
查看次数

如何最好地向管理部门提供单元测试?

我正准备向管理人员介绍单元测试.我的团队多年来一直在编写单元测试,但该公司的其他领域似乎很难采用它.我可以让开发人员对此感到兴奋,但如果没有管理层的支持,它就不会成为标准.

你们有什么建议如何最好地处理这方面的管理?你曾经尝试过哪些有用的东西?什么东西不起作用?

unit-testing presentation

10
推荐指数
1
解决办法
1965
查看次数

为什么不调用wait(),notify()或notifyAll()而没有同步块而不是编译器错误?

如果我们调用wait(),notify()或者notifyAll()在没有synchronized块的对象上调用,我们就会IllegalMonitorStateException在运行时调用.

如果我尝试在没有同步块的情况下调用这些方法,为什么编译器不会标记我?

java compiler-construction synchronization

4
推荐指数
1
解决办法
259
查看次数

REST包装集合中的单个资源

我有一个小困境.

如果您有以下URI端点:

/item
/item/{id}
Run Code Online (Sandbox Code Playgroud)

如果我发出GET请求,/item我希望这样:

<Items>
   <Item>...</Item>
   <Item>...</Item>
   ...
</Items>
Run Code Online (Sandbox Code Playgroud)

如果我向/ item/{id}发出GET请求,我希望这样:

<Item>
   ...
</Item>
Run Code Online (Sandbox Code Playgroud)

我的一些团队成员争辩说我们应该设计API,这样当有人为/ item/{id}进行GET时,它应该作为单个元素的集合返回.像这样:

<Items>
   <Item>...</Item>
</Items>
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎不对.你也觉得不对吗?请解释原因,因此我可能会说服自己使用资源的永久包装版本或我的同伴开发人员使用非包装的单一资源.

api rest

1
推荐指数
2
解决办法
1360
查看次数