Cpp API引用了一個CreateSharedString函數來執行 String 重復數據刪除。sharedflatbuffers DSL 中似乎也有一個特定的屬性。不幸的是,我在 Java API 中找不到等效項,也找不到關于該shared屬性的任何文檔。是否可以使用 Java API 創建共享字符串?如果是,怎么辦?我應該維護一個字符串映射及其調用 FlatBufferBuilder#createString 的偏移量并對該映射執行檢查,還是 flatbuffers 在 Java 中提供更好的方法?
1 回答

慕桂英546537
TA貢獻1848條經驗 獲得超10個贊
是的,如果需要,您可以自己做。如果您序列化從 2 個或更多位置獲得的偏移量createString
,則您正在使用共享。使用您自己的映射來查看您是否已經序列化了一個字符串并重新使用它的偏移量就可以了。
遺憾的是,這當然會使序列化過程變慢(并使用更多內存),但如果您有很多重復字符串,這可能是值得的。
添加回答
舉報
0/150
提交
取消