创建字节数组的缓存
在我的代码中,它经常在我无法控制的服务器上运行,我有用户的集合,每个用户都有一个数组。byte[]
有时,这些数组对于用户是唯一的。但是,通常会有大量用户使用完全相同的数组。byte[]
byte[]
我正在尝试减少服务器的 RAM 消耗。
我尝试过将数组转换为字符串并实习它们,但后来我经常遇到PERM-GEN内存不足错误。当我想为用户访问数组时,我还看到编码/解码的性能显着下降,并且我看到更糟糕的内存使用率大大增加 - 预先说服的字符串比数组大得多。byte[]
byte[]
当Java数组不可哈希并且SoftReferences不将对象的哈希包装在点上时,我怎么能进行查找。A显然也在打败自己,因为钥匙是它自己,阻止了收集;并且无论如何都在内部实现。Set<SoftReference<byte[]>>
Map<byte[],SoftReference<byte[]>>
Set
Map
那么,如何才能实习阵列呢?byte[]