- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 soanr 来检查我的 java 代码,有一个问题表明,我们应该使用 java.nio.file.Files.newInputStream(myfile.toPath()) 而不是 new FileInputStream(file)。声纳描述是:
This method creates and uses a java.io.FileInputStream or java.io.FileOutputStream object. Unfortunately both of these classes implement a finalize method, which means that objects created will likely hang around until a full garbage collection occurs, which will leave excessive garbage on the heap for longer, and potentially much longer than expected. Java 7 introduced two ways to create streams for reading and writing files that do not have this concern. You should consider switching from these above classes to InputStream is = java.nio.file.Files.newInputStream(myfile.toPath()); OutputStream os = java.nio.file.Files.newOutputStream(myfile.toPath());
我的问题是,这样对吗?
最佳答案
这是一个密集的陈述。因此,将其分成更小的 block 可能是值得的。首先,
This method creates and uses a java.io.FileInputStream or java.io.FileOutputStream object. Unfortunately both of these classes implement a finalize method
这是真的,也是假的。该函数本身自 java 9 起已被标记为已弃用。并且它已在 5 个月前被删除。所以,取决于你使用的java版本。它可能仍然存在(假设大多数人仍在使用 java 8)。看这个commit了解更多信息。
which means that objects created will likely hang around until a full garbage collection occurs, which will leave excessive garbage on the heap for longer, and potentially much longer than expected
是的,因为finalize
函数是在GC之后调用的。然后,该对象很可能会在堆上停留更长时间。请参阅 javadoc 了解 finalize
函数 here .
Java 7 introduced two ways to create streams for reading and writing files that do not have this concern
确实,我已经检查了 openjdk repo 中的源代码。而且,我没有看到这两个函数使用的类的实现来实现 Finalize 方法。请参阅存储库 here
关于java - java.nio.file.Files.newInputStream(myfile.toPath()) 比 new FileInputStream(file) 更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55370117/
我的最终 .exe 文件有问题。在编写代码时,我使用了 colorama 和 time 包,但最终编译的文件不包含它们。我使用 pyinstaller 进行编译,使用 PyCharm 作为 IDL。
我正在编写一个通用函数来检查变量是否包含文件或目录。所以我想出了一个想法,使用 boolean 返回类型函数来检查它。像这样: function boolean checkFileOrDirector
我的 /var/run/myfile 的权限是: -rwxr-xr-x 1 opentsdb opentsdb 2861 Nov 2 11:31 /etc/init.d/opentsdb 运行 op
我在脚本中使用 sed 进行替换,我想让被替换的文件覆盖该文件。通常我认为你会使用这个: % sed -i 's/cat/dog/' manipulate sed: illegal option --
我一直在研究 Flutter 中的一段代码,用于将指定的变量保存到文本文件中。这只需按下一个按钮即可。为了实现这一点,我使用了 path_provider 依赖项 代码如下所示: trailing:
echo " "; } echo ""; 该脚本现在可以正常工作,但是当我将整个表单排除在外,并使用 fil
尝试运行 opencv sample matlab call , 我收到一个错误 无效的 MEX 文件“mypath\displayImage.mexw64”:mypath\displayImage.
我正在构建播放 Wireshark 文件并使用 pcapdot.net 将数据包发送到网卡的应用程序。 在我的应用程序中,我获取根目录并仅添加过去 24 小时内的新文件。首先,我将目录中的所有文件添加
我是 java 的新手,正在尝试扩展 File 类以使用以下类向其添加更多方法和属性 import java.io.File; public class RecordingFile extends F
为什么 myfile.txt 为空?我尝试将内容附加到 myfile.txt 但当我打开它时它仍然是空的。正在创建文件。 import java.io.*; public class NewClass
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关闭 8 年前。 这个问题似乎不是关于 a specific programming problem,
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Where will be create a new file in java, when path is
我正在尝试构建一个上传表单并且我正在收到通知( !) 注意: undefined index :第 19 行 C:\wamp32\www\game\upload.php 中的 myfile我使用的代码
我正在尝试创建一个列表字典,其键是字谜词,值(列表)包含该字谜词中所有可能的单词。 所以我的字典应该包含这样的内容 {'aaelnprt': ['parental', 'paternal', 'pre
我搜索过这个问题,发现了很多风格和想法,但没有真正的解决方案。所以,穿上我的石棉防护服并希望一切顺利,我敢再问一遍。 我管理过调用托管 C++ 代码的 C# 代码,而托管 C++ 代码又调用非托管 C
我得到了 The process cannot access the file "MyFile.log" because it is being used by another process. 当我
好的,所以我正在尝试将加密文本写入文件。 出于某种原因,我遇到了未在此范围内声明的编译错误。 这是我的 encryption.cpp 文件: #include #include #include
iMac-Mark:~ Mark$ python3 Python 3.3.2 (v3.3.2:d047928ae3f6, May 13 2013, 13:52:24) [GCC 4.2.1 (Appl
from tkinter import* from tkinter import filedialog import tkinter.ttk as ttk import datetime import
我正在创建一个 mp3tag 编辑器并希望它通过 android-buildin-filebrowser“myfiles”(com.sec.android.app.myfiles/com.sec.an
我是一名优秀的程序员,十分优秀!