我用扁平缓冲区表示我的数据。目前我遇到了一个问题,就是我将平面缓冲区中的一大堆对象分成了几个小块。
最直接的方法是为每一块创建一个平面缓冲区构建器,然后将对象写入该构建器。但是当对象有点复杂时,按结构复制数据结构是一项相当繁琐的工作。
由于扁平缓冲区存储相对偏移量,理论上我认为可以简单地复制字节缓冲区来将对象复制到另一个扁平缓冲区实例中。已经有什么东西可以深度复制它了吗?我现在用的是java。谢谢
谢谢
发布于 2017-11-23 00:16:24
这比你想象的要复杂得多,因为一个表和它的子表在内存中不一定是连续的,并且可能与其他表共享vtable,等等。
最简单的方法是使用嵌套的FlatBuffers (将子对象放在一个字节向量中),因为它很容易被复制。
在C++中有一个使用反射的深度复制功能,但是它速度很慢,需要一个二进制模式文件,并且还没有移植到Java语言中。新的“迷你反射”表将适用于深度复制,但也只是到目前为止的C++。
https://stackoverflow.com/questions/47429886
复制相似问题