【发布时间】:2022-02-01 08:31:04
【问题描述】:
请帮忙,例如在java中缓存这一行/新实例是什么意思:
XPath xpath = XPathFactory.newInstance().newXPath();
我知道我必须存储某种记忆...谁能给我举个例子。
谢谢。
【问题讨论】:
-
这取决于您究竟需要做什么以及需要缓存多长时间。最简单的意思是“缓存”只是将对该实例的引用存储在某个地方,使其可用于需要它的代码 - 还取决于需要它的范围,即可以是方法、类(例如该类中的方法)或更全局可用的上下文。
-
另一个相关注意事项:使用缓存需要考虑线程安全。如果缓存的实例有可能被多个线程同时使用——直接或间接——你需要确保这样做是安全的(检查类文档,它通常应该说明它是否是线程安全的——如果它没有'不声明任何假设该类不是线程安全的)。您可能还没有达到处理线程的水平,在这种情况下,此评论可能没有直接帮助,但请记住以供日后参考。
-
我同意 Matteo 的回答,因为它只是意味着将一个实例变量全局声明为成员实例,并且该变量只能在加载类时加载一次,因为它是多个调用的公共变量。在课堂上...谢谢大家