A fairy tale of zlib/zip compression in OpenJDK

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=x2cJ08p2l5k



Duration: 48:11
273 views
2


Presented by Volker H. Simonis (Amazon) at EclipseCon 2022.

This talk is for all Java users at any level. Attendees will get a better understanding of how third party libraries like zlib are bundled, used and maintained in the OpenJDK. They'll learn the difference of static vs. dynamic linking of libraries and how they can leverage alternative zlib implementations to boost de-/compression performance on platforms where OpenJDK dynamically links zlib.

I'll also describe subtle behavioral differences in various zlib implementations and versions and how they have been fixed or worked around in the JDK. Finally, I'll cover recent enhancements in the ZipFile support.

The general outline of the talk will be as follows:

- zlib compression details (i.e. Huffman coding and LZ77 compression)
- the history of zlib in the JDK
- zip file support and enhancements in the OpenJDK
- the zipfs file system support in OpenJDK
- checksums and intrinsics (i.e. CRC32, CRC32C and Adler32)
- the challenges of maintaining a third party library in OpenJDK
- alternative zlib implementations and their performance benefits
- boosting your deflate/inflate performance by using alternative zlib implementations
- issues and challenges with alternative zlib implementations (e.g. [1, 2, 3])
- zlib vulnerabilities (CVE-2018-25032 [4])

The talk is partially based on the content of my blog https://github.com/simonis/zlib-bench/blob/master/AcceleratingZlibInOpen... but extended with some more implementation details and examples. This will be a new talk which has never been given before.

[1] https://bugs.openjdk.org/browse/JDK-8240333
[2] https://bugs.openjdk.org/browse/JDK-8253952
[3] https://bugs.openjdk.org/browse/JDK-8283758
[4] https://nvd.nist.gov/vuln/detail/CVE-2018-25032




Other Videos By Eclipse Foundation


2022-11-22Deployment options for OSGi applications in the cloudedge
2022-11-22Oniro: How an Open Source Project can revolutionize IoT market/industry
2022-11-22Live Coding: cloud-native application development with MicroProfile and Open Liberty
2022-11-22Extending Eclipse JDT to Support Java Projects with a Bazel Build
2022-11-22A Java Developer's Survival Guide for the Cloud (sponsored by Red Hat)
2022-11-22MicroProfile: Current and Future
2022-11-22Langium + Sirius Web = Heart
2022-11-22Oniro, and how to build a production oriented, open source, reference OS for IoT devices in no time
2022-11-22Innovation without compromise: better, stronger, faster Java in the Cloud (sponsored by IBM)
2022-11-22Textual and Graphical Languages for the Cloud Era
2022-11-22A fairy tale of zlib/zip compression in OpenJDK
2022-10-18Interview with Remington Below, Product Leader at Volkswagen Automotive Cloud, VW
2022-10-18SDV Contribution Day - September 2022 - What to Expect
2022-10-18Interview with Ansgar Lindwedel, Steering Committee Member, Eclipse Software Defined Vehicle
2022-10-18Interview with Thomas Spreckley, Bosch
2022-10-18Interview with Christian Hort, SVP Automotive at T-Systems & Michael Plagge from Eclipse Foundation
2022-10-18Interview with Stefan Schumacher, VP Automotive - Portfolio & Business Development at T-Systems
2022-10-18Interview with Jesus Galan, Senior Manager Automotive Business Development at T-Systems
2022-10-18SDV Contribution Day - September 2022 Recap
2022-10-13Software Defined Vehicle WG Introduction - SDV Contribution Day - Sept 2022
2022-10-12How Kynetics Built Update Factory With Eclipse IoT Technology - Eclipse IoT Case Study