org.springframework.web.multipart.commons.CommonsMultipartFile#transferTo()方法内存安全吗?

时间:2013-10-03 22:15:18

标签: java spring multipart

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

使用transferTo()的{​​{1}}方法时,我是否应该关注内存泄漏?

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

1 个答案:

答案 0 :(得分: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.channels.WritableByteChannel%29

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

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

只要正确使用/关闭“通道”对象即可。我认为没有明确的记忆管理。