Java ConcurrentHashMap JDK 8到JDK 6后端端口

Java ConcurrentHashMap JDK 8到JDK 6后端端口,java,concurrenthashmap,backport,Java,Concurrenthashmap,Backport,Java8中的ConcurrentHashMap不使用锁,尽管6和7JDK实现使用锁。是否有Java8实现到Java6的后端口 原因:无锁=>无争用=>更好的性能。至少有Java 7的后端口,请参阅中的这一个,这是他们的想法。它也应该在Java 6中工作,下载infinispan jar并测试它可能是值得的。Netty有,Netty的语言级别是Java 6。自2014年4月以来,我们已经将我们的产品迁移到Java8,因此这对我们来说不再是一个紧迫的问题。对于那些仍然有这个问题的人,看看Doug

Java8中的ConcurrentHashMap不使用锁,尽管6和7JDK实现使用锁。是否有Java8实现到Java6的后端口


原因:无锁=>无争用=>更好的性能。

至少有Java 7的后端口,请参阅中的这一个,这是他们的想法。它也应该在Java 6中工作,下载infinispan jar并测试它可能是值得的。

Netty有,Netty的语言级别是Java 6。

自2014年4月以来,我们已经将我们的产品迁移到Java8,因此这对我们来说不再是一个紧迫的问题。对于那些仍然有这个问题的人,看看Doug Lea的


附带说明:现在,即使是twitter也将这些类的一部分放入了一个jar中,该jar是在Java6下编译的:)。

锁是应用程序中的瓶颈吗?是的,如果主要使用2到3个bucket。另外,出于好奇,有多个编写器(几乎实时更新),Java 8和更早版本的时间分别是多少?您能否具体说明您使用了哪些指标来确认无锁Java-8解决方案是唯一适合您的问题的解决方案?请参阅和以获得相关的讨论。close:“嗨,很遗憾,这不适用于JDK6,因为ConcurrentMapFactory检查com.sun.unsafe.unsafe而不是sun.misc.unsafe的存在。我打开了一个JIRA问题:Robert”整个库是一个罐子吗?或者,更简单地说,我可以得到meat=concurrency backport吗?我不知道问题是否仅仅在于此,但通过将源代码复制到项目并使用不同的包名重新导入,似乎值得一试。可能只是源代码可以在这里找到:请看我的答案。twitter链接是类的子集,但指向jsr166e完整源代码的链接,答案中的链接已断开。