【发布时间】:2011-08-25 00:16:05
【问题描述】:
我从 ORACLE 读到以下bit:
我可以对我的对象的压缩版本执行方法吗,例如 isempty(zip(serial(x)))?
由于对象的编码,这对于任意对象实际上是不可行的。对于特定对象(如字符串),您可以比较生成的比特流。编码是稳定的,因为每次对同一个对象进行编码时,它都会被编码为相同的比特集。
所以我有了这个想法,假设我有一个 4M 长的 char 数组,我是否可以使用 GZIPOutputStream 将其压缩到数百字节,然后将整个文件映射到内存中,然后执行通过比较位随机搜索?假设我正在寻找"abcd" 的字符序列,我能否以某种方式获得"abcd" 的压缩版本的位序列,然后在文件中搜索它?谢谢。
【问题讨论】:
-
取决于压缩算法它可以工作,但压缩不一定尊重字节边界,所以搜索可能真的很痛苦。
标签: java string search compression