11package io .arex .foundation .util ;
22
3- import com .github .luben .zstd .ZstdInputStream ;
4- import com .github .luben .zstd .ZstdOutputStream ;
3+ import com .github .luben .zstd .RecyclingBufferPool ;
4+ import com .github .luben .zstd .ZstdInputStreamNoFinalizer ;
5+ import com .github .luben .zstd .ZstdOutputStreamNoFinalizer ;
56import org .slf4j .Logger ;
67import org .slf4j .LoggerFactory ;
78
@@ -35,7 +36,8 @@ public static byte[] zstdCompress(byte[] original) {
3536
3637 try (ByteArrayInputStream byteInputStream = new ByteArrayInputStream (original );
3738 ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream (byteInputStream .available ());
38- ZstdOutputStreamNoFinalizer zstdOutputStream = new ZstdOutputStreamNoFinalizer (byteOutputStream )) {
39+ ZstdOutputStreamNoFinalizer zstdOutputStream = new ZstdOutputStreamNoFinalizer (byteOutputStream ,
40+ RecyclingBufferPool .INSTANCE )) {
3941
4042 byte [] buffer = new byte [BYTES_BUFFER_LENGTH ];
4143 for (int length ; (length = byteInputStream .read (buffer , 0 , BYTES_BUFFER_LENGTH )) != -1 ; ) {
@@ -52,7 +54,8 @@ public static byte[] zstdCompress(byte[] original) {
5254 }
5355
5456 public static String zstdDecompress (InputStream inputStream , Charset charsetName ) {
55- try (ZstdInputStreamNoFinalizer zstdInputStream = new ZstdInputStreamNoFinalizer (inputStream );
57+ try (ZstdInputStreamNoFinalizer zstdInputStream = new ZstdInputStreamNoFinalizer (inputStream ,
58+ RecyclingBufferPool .INSTANCE );
5659 ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream (inputStream .available ())) {
5760
5861 byte [] buffer = new byte [BYTES_BUFFER_LENGTH ];
@@ -70,22 +73,4 @@ public static String zstdDecompress(InputStream inputStream, Charset charsetName
7073 public static String zstdDecompress (byte [] bytes , Charset charsetName ) {
7174 return zstdDecompress (new ByteArrayInputStream (bytes ), charsetName );
7275 }
73-
74- public static class ZstdInputStreamNoFinalizer extends ZstdInputStream {
75- ZstdInputStreamNoFinalizer (InputStream inputStream ) throws IOException {
76- super (inputStream );
77- }
78-
79- @ Override
80- public void finalize () { }
81- }
82-
83- public static class ZstdOutputStreamNoFinalizer extends ZstdOutputStream {
84- public ZstdOutputStreamNoFinalizer (OutputStream outStream ) throws IOException {
85- super (outStream );
86- }
87-
88- @ Override
89- public void finalize () { }
90- }
9176}
0 commit comments