gpt4 book ai didi

Java 内存优化(如何避免内存泄漏 - 具体示例)

转载 作者:行者123 更新时间:2023-12-04 06:36:21 27 4
gpt4 key购买 nike

我在我的 Java Web 应用程序中创建了一个 Pdf,我将它作为电子邮件附件发送。
Pdf 被创建为 byte[]大批。用 ByteArrayInputStream 包裹更好吗?或者我应该把它保留为 byte[] .

包装它对于内存释放可能更好(阅读 this 线程中接受的答案),但缺点是 InputStream (如果我是对的)创建数组的副本(读取 here )。

哪个更好地避免内存占用的可能性?

最佳答案

不,ByteArrayInputStream包装数组,它不复制它。来自 the documentation (采用 byte[] 的构造函数):

Creates a ByteArrayInputStream so that it uses buf as its buffer array. The buffer array is not copied. The initial value of pos is 0 and the initial value of count is the length of buf.



有可能使用输入流的任何东西都会复制它,但是 ByteArrayInputStream本身不会。

我不相信你真的担心一个特别重要的问题——我认为它实际上根本不会造成内存泄漏,只是使用字节数组。

关于Java 内存优化(如何避免内存泄漏 - 具体示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4826507/

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