开销与代码速度(java.io.File数组与java.lang.String数组)

前端之家收集整理的这篇文章主要介绍了开销与代码速度(java.io.File数组与java.lang.String数组)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
只是试图理清我在这里的一个小分类.

目前,我正在开发一个涉及将文件列表收集到内存中的应用程序,以便删除.现在,在这一点上,我认为java.io.File数组可能会占用太多内存,因为此上下文中的Files列表可能包含数百个可能的条目.

我没有使用File对象列表吃掉过多的内存,而是认为收集文件名列表并将它们存储为java.lang.String对内存来说会更便宜.现在,这是我的问题:要记住这些文件删除,哪些文件会更便宜:

>存储一个File对象而不是String对象,并调用.delete();循环中的每一个(使用太多的内存).
>使用文件名存储String对象数组,但是对于循环的每次迭代,使用文件名列表创建一个新的File对象,并调用.delete();在该文件上(这意味着每次循环迭代时,都会创建并销毁一个新的File对象 – 可能使用的处理器功率太大).

我想尽可能快地使程序,所以任何一种方法都有其优点,我只想看看哪些方法的开销最小.提前致谢!

解决方法

java.io.File表示文件系统中条目的文件名信息/元数据,它不包含文件内容.

换句话说,像新文件(“somelarge.txt”)这样的代码不会将somelarge.txt文件加载到内存中.

每个File对象包含的唯一真实数据是File的String路径(以及transient int prefixLength) – 认为File类只是知道如何调用所有文件系统操作的String路径的包装器.

除了其他一些要求之外,这里的最佳选择是最容易阅读的代码并最好地传达您的意图.

原文链接:https://www.f2er.com/java/127418.html

猜你在找的Java相关文章