在BSON Java实现中,一个ObjectId由3部分组成(源码:http://grepcode.com/file/repo1.maven.org/maven2/org.mongodb/mongo-java-driver/2.9.0/org/bson/types/ObjectId.java#ObjectId.%3Cinit%3E%28int%2Cint%2Cint%29):
XXXX XXXX XXXX
-------------------------
time machine&pid inc
(每个X代表一个字节)
这与文档中描述的有点不同(文档:http://docs.mongodb.org/manual/core/object-id/)
XXXX XXX XX XXX
--------------------------
time machine pid inc
(每个X代表一个字节)
任何人都可以让我知道为什么 java 驱动程序不遵循规范吗?
谢谢!
最佳答案
我会将其作为答案,因为评论有点长。
有几个 JIRA 链接:
第二个承认 Java 下的规范有所不同,但没有提及原因。
如果我猜测这可能是由于 Java 中 PID 和机器 id 的工作方式造成的,它可能与: https://jira.mongodb.org/browse/JAVA-586 有关。 .
您可能会在 Google 群组中找到更好的答案:mongodb-user,因为维护人员都在那里。
关于java - 为什么bson java实现使用4字节inc字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13778071/