热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在Java中gzip字节缓冲区?

如何解决《有没有办法在Java中gzip字节缓冲区?》经验,为你挑选了1个好方法。

我有相当大的DirectByteBuffer,我想DirectByteBuffer从它生成一个gzip 而不将其内容传输到堆.

标准java.util.Deflater没有用,因为它按照byte[]定义在堆上运行.

有没有办法在Java中这样做?或者我必须libzip直接打电话JNI



1> Holger..:

从Java 11开始,有

Deflater.setInput(ByteBuffer input)

Deflater.deflate(ByteBuffer output) RESP.

Deflater.deflate(java.nio.ByteBuffer output, int flush)

允许将输入和输出指定为字节缓冲区.当然,它的实现依赖于它是否实际上允许直接的堆外处理,但是快速浏览OpenJDK后发现它有一个native缓冲区到缓冲区处理的方法.

从技术上讲,它不是GZip,除非你也在编写那种文件格式的工件,但我想,你主要是对压缩而不是文件格式感兴趣.


推荐阅读
  • 现在很多App在与服务器接口的请求和响应过程中,为了安全都会涉及到加密和解密的问题,如果不加的话就会是明文的,即使加了GZIP也可以被直接解压成明文。如果同时有Android和IO ... [详细]
  • HTTPProxy是一个中间程序,它既可以担当浏览器(客户端)的角色也可以担当WebServer(服务器)的角色。HTTPProxy代表浏览器向WebServer发送请求,浏览 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 本文介绍了在Linux系统下进行文件压缩与解压的常用命令,包括tar命令的基本使用和参数,以及gzip、bz2、compress、rar和zip等不同格式的压缩与解压方法。同时还提供了常见的压缩文件后缀名及对应的解压命令,方便用户进行文件的压缩和解压操作。 ... [详细]
  • 流数据流和IO流的使用及应用
    本文介绍了流数据流和IO流的基本概念和用法,包括输入流、输出流、字节流、字符流、缓冲区等。同时还介绍了异常处理和常用的流类,如FileReader、FileWriter、FileInputStream、FileOutputStream、OutputStreamWriter、InputStreamReader、BufferedReader、BufferedWriter等。此外,还介绍了系统流和标准流的使用。 ... [详细]
  • Question该提问来源于开源项目:react-native-device-info/react-native-device-info ... [详细]
  • STM32 IO口模拟串口通讯
    转自:http:ziye334.blog.163.comblogstatic224306191201452833850647前阵子,调项目时需要用到低波 ... [详细]
  • java——题型和考点大纲
    题型选择题10*2填空题10*1一二八十程序阅读题4*5读程序写结果派生类的构造方法static十十一简答题4*5十一十二十三(setmap)程序题3* ... [详细]
  • 用SpringBoot实现万能文件在线预览
    推荐一个用SpringBoot搭建的文档在线预览解决方案:kkFileView,一款成熟且开源的文件文档在线预览项目解决方案,对标业内付 ... [详细]
  • 1.man(相当于cmd--help)对不熟悉的命令想查询详细使用方法的帮助解释可以使用eg:manls就可以查看ls相关的用法注: ... [详细]
  • Linux操作系统学习笔记4【文件管理与常用命令】
    文件目录:一:Linux文件基础知识1.Linux常用文件类别2.Linux目录结构概述3.Linux目录常见概念4.Linux系统目录及说明 ... [详细]
author-avatar
残血死少爷y_905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有