[英]How to estimate the serialization size of objects in Java without actually serializing them?
[英]Is there a Java structure that allows .contains lookups for serializable objects without actually storing them?
我正在尋找某種結構,使我能夠進行contains()-查找,但不會存儲原始值以減少存儲開銷。
用例是過濾大量流中的事件。 我不可能存儲所有遇到的值,但是知道某些事件之前發生很有價值。
Java Set或HashMaps存儲密鑰,從而產生過多的開銷,無法成為海量數據的可行解決方案。
存儲實際值對於進行此類查詢不是必需的。 一個例子是Trie,它可以用來匹配許多不同的字符串,但是所需的存儲空間比組合的單個字符串少得多。
如果你是追求的是一個保證值尚未見過,布隆過濾器可滿足您的需求。
在這種情況下,番石榴有一個實現:
https://github.com/google/guava/wiki/HashingExplained#bloomfilter
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.