Что такое хорошая библиотека сжатия для Java?

5
задан skiphoppy 24 September 2008 в 13:05
поделиться

3 ответа

Можно использовать Deflater/Inflater, который встроен в JDK. Существует также GZIPInputStream и GZIPOutputStream, но он действительно зависит от Вашего точного использования.

Править:

При чтении дальнейших комментариев, на которые это похоже, сетью taffic является HTTP. В зависимости от сервера это, вероятно, имеет поддержку сжатия (особенно с deflate/gzip). Проблема затем становится на клиенте. Если клиент является браузером, он, вероятно, уже поддерживает его. Если Ваш клиент является клиентом веб-сервисов, или http клиент проверяют документацию на тот пакет, чтобы видеть, поддерживается ли это.

Похоже, что джакартское свободное городское население httpclient может потребовать, чтобы Вы вручную сделали сжатие. Для включения этого на стороне клиента, необходимо будет сделать что-то как

.addRequestHeader("Accept-Encoding","gzip,deflate");
11
ответ дан 18 December 2019 в 14:54
поделиться

Если сетевой трафик пробегается через HTTP, большую часть различной веб-поддержки контейнеров серверов/сервлета согласованного архивирования, например, mod_deflate для Apache.

1
ответ дан 18 December 2019 в 14:54
поделиться

Ваш алгоритм сжатия зависит от того, что вы пытаетесь оптимизировать, и какой пропускной способности у вас есть .

Если вы используете гигабитную локальную сеть, почти любой алгоритм сжатия немного замедлит вашу программу. Если вы подключаетесь через WAN или Интернет, вы можете позволить себе немного большее сжатие. Если вы подключились к коммутируемому соединению, вам следует сжать как можно больше.

Если это глобальная сеть, вы можете найти аппаратные решения, такие как Riverbed , более эффективные, поскольку они работают в широком диапазоне трафик и не требуют изменений в ПО.

У меня есть тестовый пример, который показывает относительную разницу в сжатии между Deflate, Filtered, BZip2 и lzma . Просто вставьте образец данных и проверьте синхронизацию между двумя машинами.

1
ответ дан 18 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: