java - 为什么bson java实现使用4字节inc字段?

标签 java mongodb driver bson objectid

在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/

相关文章:

c++ - Qt 5.1 - 带 LAMPP 的 MySQL 驱动程序

c# - 使用单声道等待 UIO 中断

java - 为什么在 java 序列化框架中允许创建语法上非法的 QName?

java - Java 中更高效的代码行

java - Mockito 注解和方法调用的区别

java - Android 连接 MySQL 数据库失败

mongodb - 使用 mgo 或 bson 在 Go 中重命名 mongo 集合?

MongoDB Rust 客户端连接错误

python - 在 mongodb 中使用 python 进行文本搜索

mysql - 如何在windows下制作Qt mysql驱动?