gpt4 book ai didi

java - 在 Java Web 服务中仅加载一次文件和对象

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:53 24 4
gpt4 key购买 nike

我有一个 Restfull Web 服务,需要加载经过训练的模型文件并创建一些其他对象,这需要大量时间。因此我只需要执行一次(启动网络服务时)。目前,系统在每次 Web 服务调用时都会加载经过训练的文件和一些其他对象,而且成本高昂。您能告诉我如何处理这个问题吗?

最佳答案

您可以使用Singleton图案。它用于确保某些资源仅创建一次。所以基本上,您可以拥有一个类,其目的是实例化这些文件并让 Web 服务调用此类,如下所示(取自 Wikipedia ):

public class Singleton {
private static volatile Singleton instance = null;
private static File file1;
...


private Singleton()
{
//Load whatever you need here.
}

public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class)
if (instance == null) {
instance = new Singleton();
}
}
return instance;
}

...
//Other getter and setters for your files and other objects

}

然后,在您的网络服务中,您可以执行如下操作:

...
Singleton.getInstance().getSomeFile();
...

关于java - 在 Java Web 服务中仅加载一次文件和对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11242706/

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