gpt4 book ai didi

java - 为什么 BufferedImage 的初始化速度比 Image 快

转载 作者:行者123 更新时间:2023-12-04 20:48:43 27 4
gpt4 key购买 nike

我正在为我用 Java 编写的项目运行一些关于图像的测试。我得到了一个有趣的结果,但不知道为什么。这是 BufferedImageImage 的初始化行。

File[] files = new File("C:\\Users\\SAMSUNG\\Desktop\\img\\").listFiles();
time = System.currentTimeMillis();
for (File f:files){
Image img = ImageIO.read(f);
}
System.out.println((System.currentTimeMillis() - time) + " miliseconds.");

注意:这两个操作是分开运行的。我运行上面的那个,进程结束,我的意思是实际上结束了,而不是我运行下面的那个。

File[] files = new File("C:\\Users\\SAMSUNG\\Desktop\\img\\").listFiles();  
time = System.currentTimeMillis();
for (File f:files){
BufferedImage bimg = ImageIO.read(f);
}
System.out.println((System.currentTimeMillis() - time) + " miliseconds.");

我知道在运行中运行这些文件可能会影响结果,因为我尝试访问相同的文件,因为我单独运行它们。结果将近40分钟。但是,BufferedImage 初始化总是比 Image 初始化快一分钟。这是为什么?

我运行了 3 次测试,结果都是一样的。

最佳答案

时间应该相同。我怀疑您的第一个循环正在使用文件内容预热一些缓存,而第二个循环则更容易一些。

尝试颠倒阅读顺序:首先是 BufferedImages,然后是 Images,然后检查会发生什么

关于java - 为什么 BufferedImage 的初始化速度比 Image 快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16234014/

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