gpt4 book ai didi

java - 来自 java.util.zip.Inflater.init(Native Method) 的奇怪 java.lang.OutOfMemoryError

转载 作者:行者123 更新时间:2023-11-29 09:08:34 25 4
gpt4 key购买 nike

我需要在运行时从 jar 文件中读取 Manifest 文件。

代码:

JarFile someJar = new JarFile(jarFile);
manifest = someJar.getManifest();

但是,有时上面的代码会抛出 OutOfMemoryError 异常:

java.lang.OutOfMemoryError
at java.util.zip.Inflater.init(Native Method)
at java.util.zip.Inflater.<init>(Inflater.java:83)
at java.util.zip.ZipFile.getInflater(ZipFile.java:278)
at java.util.zip.ZipFile.getInputStream(ZipFile.java:224)
at java.util.zip.ZipFile.getInputStream(ZipFile.java:192)
at java.util.jar.JarFile.getBytes(JarFile.java:361)

有时间可以告诉我如何避免这个异常(也许是另一种在运行时获取 list 的方法)吗?

顺便说一句,我没有更改 Java 堆大小的权限。

最佳答案

难道不是损坏的 jar 文件让 Inflater 认为它需要分配大量内存吗?

如果是,您可能会发现实际上可以捕获 OutOfMemoryError。 (您通常不能或不应该捕获这些,但在尝试分配大量不可用内存的特定情况下,在实践中这样做通常是安全的。)

关于java - 来自 java.util.zip.Inflater.init(Native Method) 的奇怪 java.lang.OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13559258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com