[英]Is there a way to gzip a byte buffer in Java?
我有非常龐大的DirectByteBuffer
,我想從中生成一個gzip壓縮的DirectByteBuffer
而不將其內容傳輸到堆中。
標准的java.util.Deflater
是沒有用的,因為它在byte[]
上運行,根據定義在堆上運行。
有沒有辦法在Java中這樣做? 或者我必須通過JNI
直接調用libzip
?
從Java 11開始,有
和
允許將輸入和輸出指定為字節緩沖區。 當然,它的實現依賴於它是否實際上允許直接的堆外處理,但是快速瀏覽OpenJDK后發現它具有緩沖區到緩沖區處理的native
方法。
從技術上講,它不是GZip,除非你也在編寫那種文件格式的工件,但我想,你主要是對壓縮而不是文件格式感興趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.