gpt4 book ai didi

java - 在 Java 中缓存从输入流读取的图像的最佳实践

转载 作者:行者123 更新时间:2023-11-29 04:04:45 26 4
gpt4 key购买 nike

我有一个 servlet,它通过从 HttpURLConnection 输入流中以字节形式读取图像,然后将字节写入响应输出流来充当获取图像的代理。这是相关的代码片段:

HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setConnectTimeout(CONNECT_TIMEOUT);
connection.setReadTimeout(READ_TIMEOUT);

InputStream in = connection.getInputStream();
OutputStream out = resp.getOutputStream();

byte[] buf = new byte[1024];
int count = 0;
while ((count = in.read(buf)) >= 0) {
out.write(buf, 0, count);
}

我想开始在代理 servlet 中缓存图像。我正在考虑包装字节数组并存储在 Map 中,但我怀疑有更好的方法。我注意到了 javax.imagio 包,但我没有使用它的经验,也不确定它是否与这里相关。具体来说,我正在寻找有关如何存储图像的想法,而不是缓存机制。

最佳答案

如果您只缓存图像,我建议将图像保存为字节数组,而不是图像。使用 imageio 读取图像会解压缩图像,它们会占用更多的内存空间。

WeekHashMap 类可能是缓存内容的最简单方法,但您几乎无法控制从中逐出条目的方式。

关于java - 在 Java 中缓存从输入流读取的图像的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/691081/

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