Java 用两种不同的方法获取数据
我有一个项目,其中包括两种不同的静态主要方法。也就是说,为了我的目的,我需要单独运行它们。请注意,这两个方法必须分别执行。我运行第一个方法,让我们将其称为“getA”。getA方法只是将所有唯一的数据存储到HashMap中,并完成其工作。之后,我准备执行getB方法,但重点是我需要使用getA方法放置所有数据的hashmap,而我无法确定如何从getB方法访问这个hashmap,因为这些方法是唯一的,只有这个hashmap相互关联。事实上,我可能需要一些缓存的东西使它们成为可能 让我举例说明:Java 用两种不同的方法获取数据,java,caching,methods,hashmap,Java,Caching,Methods,Hashmap,我有一个项目,其中包括两种不同的静态主要方法。也就是说,为了我的目的,我需要单独运行它们。请注意,这两个方法必须分别执行。我运行第一个方法,让我们将其称为“getA”。getA方法只是将所有唯一的数据存储到HashMap中,并完成其工作。之后,我准备执行getB方法,但重点是我需要使用getA方法放置所有数据的hashmap,而我无法确定如何从getB方法访问这个hashmap,因为这些方法是唯一的,只有这个hashmap相互关联。事实上,我可能需要一些缓存的东西使它们成为可能 让我举例说明:
-------- start getA method
-------- store data into hashmap
-------- done
-------- start getB method after (1/2/3 hour(s)) (the getA method must be run before this method)
-------- obtain the data that the hashmap stores
-------- done
注意,这个getB方法可能会在2小时后运行,我不知道。我想随时访问这个hashmap。我如何实现这个过程?我应该使用外部库还是像我前面说的那样使用缓存
谢谢你的建议和方法 如果性能不是问题,并且hashmap不是很大,那么您可以将其序列化为文件并从另一个应用程序反序列化。实际上,这是非常基本的持久缓存。或者,您应该有第三个缓存服务器,这两个应用程序都可以使用。我想,很有可能将HashMap中的数据存储到数据库(或文件)中,以保持持久性,并实现在2小时后运行第二个方法的目标。然后,即使关闭应用程序,所有数据都将作为记录存储在某个数据库表中。但是,如果您不想使用持久性数据存储,也不想以这种方式关闭应用程序并备份数据,则可以通过其他方式使此HashMap在整个应用程序中可见(可能在类之间可见),适当的方法是将其设置为静态和公共(或受保护)。避免这种方法的第二种可能性是使用单例设计模式,并将此HashMap用作其属性。根据您的需求,有许多方法可以实现您的目标。听起来好像您有两个不同的项目恰好占用同一文件夹。您需要重新构造代码或存储数据某个地方有一个磁盘。