0

编辑我真的很抱歉,但我通过指定库犯了一个错误。标题中的那个是正确的。

使用 的transferTo()方法时org.springframework.web.multipart.commons.CommonsMultipartFile,我应该担心内存泄漏吗?

由于我正在传输内容,我想有一个流需要管理。通过检查文档,我没有找到任何参考资料,但我也没有找到任何明确的声明表明流管理由库处理。

4

1 回答 1

1

transferTo 和 transferFrom 是 Java NIO 的一部分。

有两种重载方法

一种是委托给内核的本机实现。

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/nio/ch/FileChannelImpl.java#FileChannelImpl.transferTo0%28int%2Clong%2Clong%2Cint% 29

另一个使用 WritableByteChannel。

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/nio/ch/FileChannelImpl.java#FileChannelImpl.transferTo%28long%2Clong%2Cjava.nio。通道.WritableByteChannel%29

这是一篇 oracle 博客文章,解释了流和通道之间的区别

https://blogs.oracle.com/slc/entry/javanio_vs_javaio

只要您的“通道”对象被正确使用/关闭。我认为没有任何明确的内存管理。

于 2013-10-03T23:44:51.357 回答