Я прочитал из ORACLE следующего бит:
Могу ли я выполнять методы для сжатых версий моих объектов, например, isempty (zip (serial (x)))? *
Это не реально для произвольных объектов из-за кодировки объектов. Для конкретного объекта (например, String) вы можете сравнить результирующие битовые потоки. Кодировка стабильна, так как каждый раз, когда кодируется один и тот же объект, он кодируется в один и тот же набор битов.
Итак, я получил эту идею, скажем, если у меня есть массив символов 4M чего-то длинного, могу ли я сжать его до нескольких сотен байтов, используя GZIPOutputStream
, а затем отобразить весь файл в память и сделать случайный поиск по нему, сравнивая биты? Скажем, если я ищу последовательность символов "abcd"
, могу ли я как-нибудь получить битовую последовательность сжатой версии "abcd"
, а затем просто найти ее в файле? Спасибо.