草庐IT

Bitmap压缩

全部标签

java - 使用 Java 压缩 ZIP 中的大文件

我需要通过Java类ZipOutputStream压缩一个大文件(~450MB)。这个大尺寸导致我的JVM堆空间出现“OutOfMemory”错误的问题。发生这种情况是因为“zos.write(...)”方法在压缩之前将所有要压缩的文件内容存储在内部字节数组中。origin=newBufferedInputStream(fi,BUFFER);ZipEntryentry=newZipEntry(filePath);zos.putNextEntry(entry);intcount;while((count=origin.read(data,0,BUFFER))!=-1){zos.write

java - 如何使用java压缩图像?

从pagespeed我只得到图像链接和可能的字节数和百分比优化,比如,压缩和调整大小https://example.com/…ts/xyz.jpg?036861可以节省212KiB(减少51%)。压缩https://example.com/…xyz.png?303584508可以节省4.4KiB(减少21%)。例如,我有一个大小为300kb的图像,对于此图像,pagespeed显示100kb和30%的缩小。这只是一张图片,但我相信我会有很多图片需要压缩。那么如何通过将字节或百分比作为参数传递或在Java中使用任何其他计算来压缩图像(通过使用API或图像处理工具)这样我就可以按照谷歌的建

java - 在 Java 中有效压缩 10-1000 个字符的字符串?

我需要将10到1000个字符的字符串(以已知但可变的语言编写)压缩到单个UDP数据包中。Java中可用的哪些压缩算法非常适合这项任务?是否有可用的开源Java库来执行此操作? 最佳答案 “这取决于”。我将从主要候选人开始:LZMA(“7-zip”),deflate(direct,zlib:deflate+smallwrapper,gzip:deflate+slightlylargerwrapper,zip:deflate+evenlargerwrapper),bzip2(我怀疑这在这里​​很好,在相对大的窗口下效果最好),甚至一个其

压缩感知常用的测量矩阵

测量矩阵的基本概念在压缩感知(CompressedSensing,CS)理论中,测量矩阵(也称为采样矩阵)是实现信号压缩采样的关键工具。它是一个通常为非方阵的矩阵,用于将信号从高维空间映射到低维空间,生成观测向量。如果信号在某个基下是稀疏的,那么通过与测量矩阵相乘,可以得到它的压缩表示。测量矩阵的作用测量矩阵的主要作用是从原始高维信号中提取出足够的信息,以便于后续能够从这些较少的信息中准确恢复原信号。理想的测量矩阵应满足两个重要条件:一是与稀疏基正交(或近似正交),称为“不相干性”;二是具有良好的“限制等距性质”(RestrictedIsometryProperty,RIP),以确保所有稀疏信

java - Java 的解压缩实用程序性能不佳

我注意到与使用WinZip等native工具相比,Java中的解压缩工具非常慢。有没有更高效的Java第三方库?首选开源。编辑这是使用Java内置解决方案与7zip的速度比较。我在我的原始解决方案中添加了缓冲输入/输出流(感谢Jim,这确实产生了很大的不同)。Zip文件大小:800KJava解决方案:2.7秒7Zip解决方案:204毫秒下面是使用内置Java解压修改后的代码:/**UnpacksthegivezipfileusingthebuiltinJavafacilitiesforunzip.*/@SuppressWarnings("unchecked")publicfinalst

java - 我可以使用超过 32 GB 的堆和压缩 oops

我可以理解,使用压缩的oops,我们只能使用32GB的RAM。有没有办法我可以通过分配2个堆或其他东西来使用更多?谢谢葡萄藤 最佳答案 您不能有多个堆(尽管您可以有多个JVM,这称为向外扩展而不是向上扩展)。JVM在32GiB内存以下自动使用压缩对象指针。如果您了解它的工作原理(从每个地址中删除最年轻的三位,因为由于内存对齐,它们始终为0),您就会明白您不能再进一步了。有一个有趣的事实:一旦超过这个32GiB边界,JVM将停止使用压缩对象指针,从而有效减少可用内存。这意味着您必须将JVM堆增加到32GiB以上。据大Everythin

清华、哈工大把大模型压缩到了1bit,把大模型放在手机里跑的愿望就快要实现了!

自从大模型火爆出圈以后,人们对压缩大模型的愿望从未消减。这是因为,虽然大模型在很多方面表现出优秀的能力,但高昂的的部署代价极大提升了它的使用门槛。这种代价主要来自于空间占用和计算量。「模型量化」 通过把大模型的参数转化为低位宽的表示,进而节省空间占用。目前,主流方法可以在几乎不损失模型性能的情况下把已有模型压缩至4bit。然而,低于3bit的量化像一堵不可逾越的高墙,让研究人员望而生畏。图1:量化模型的困惑度在2bit时迅速上升近期,一篇由清华大学、哈尔滨工业大学合作发表在arXiv上的论文为突破这一阻碍带来了希望,在国内外学术圈引起了不小的关注。这篇论文也在一周前登上huggingface的

java - 如何从 GZIP 数据的 InputStream 中获取解压缩数据的 InputStream?

我调用了一个返回压缩文件的服务。我从响应中将数据作为InputStream(由javax.activation.DataHandler.getInputStream();提供)提供。我想做的是,在不向磁盘写入任何内容的情况下,获取存档文件中解压缩数据的InputStream。在这种情况下,压缩文件是一个xml文档,我试图使用javax.xml.bind.Unmarshaller对其进行解码,它采用InputStream。我目前正在尝试将InputStream写入OutputStream(解压缩数据),然后我需要将其写回InputStream。它还没有用,所以我想我会看看是否有更好的(我

java - 在 Java 中解压缩 GZIP HTTP 响应

我正在尝试使用GZIPInputStream解压缩GZIP压缩的HTTP响应。但是,当我尝试读取流时,我总是遇到相同的异常:java.util.zip.ZipException:invalidbitlengthrepeat我的HTTP请求header:GETwww.myurl.comHTTP/1.0\r\nUser-Agent:Mozilla/5.0(Windows;U;WindowsNT6.1;fr;rv:1.9.2)Gecko/20100115Firefox/3.6\r\nAccept:text/html,application/xhtml+xml,application/xml;

基于清晰度优先的安卓图片压缩工具的二次开发小记。

原程序:https://github.com/lexluthors/CompressTools-Android工具特性:这是和微信压缩效果类似的压缩方式,采用底层压缩。尽量无损压缩图片,保持清晰度最优。可以对比原生方法bitmap.compress(CompressFormat.JPEG,quality,fileOutputStream);占用内存少,支持压缩生成原图分辨率图片支持批量压缩,采用线程池提高性能支持压缩监听回调支持返回Bitmap和File不支持x86架构压缩情况对比:ImageInfocompressToolWechat1.50MB(1920x1080)47.32kb(1280