Код: Выделить всё
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
GZIPOutputStream compressorStream = new GZIPOutputStream(byteStream);
IOUtils.write("test1 test2 test3".getBytes(StandardCharsets.UTF_8), compressorStream);
compressorStream.finish();
for (byte b : byteStream.toByteArray()) {
System.out.print(String.format("%02x ", b));
}
< /code>
Когда я запускаю это на Java 8 против Java 17, он дает разные результаты: < /p>
Java 8: 1f 8b 08 00 00 00 00 00 00 ff 2b 49 2d 2e 31 54 28 01 92 46 60 d2 18 00 e8 5e b8 b9 11 00 00 00
Java 17: 1f 8b 08 00 00 00 00 00 00 ff 2b 49 2d 2e 31 54 28 49 2d 2e 31 02 93 c6 00 e8 5e b8 b9 11 00 00 00
Кто -нибудь знает, почему это происходит? Была ли какая -либо документация от разработчиков Java, объясняющей это изменение в поведении?
Подробнее здесь: https://stackoverflow.com/questions/773 ... in-java-17