java 重复调用一个方法 时间复杂度高

来源:百度知道 编辑:UC知道 时间:2024/05/07 18:37:21
在一个java中,定义了一个方法A,实现数据的存储。在其他的方法中需要用到A中的数据,就加载了A的方法。导致在整个程序运行期间,A方法加载了上百次,运行时间过长。这个问题该怎么解决啊?
ps:不知道我描述的是不是清楚。
A是对存储结构的初始化。其他方法中用到的是存储结构中的值

A是保存数据阿?
然后其他地方要使用这些数据?那为什么还调用A阿?

你觉得是因为A的单次执行时间太长吧?要不然上百次根本不算什么开销的。
还是要优化A函数阿。
可以加一些简单的缓存功能,配合优化的检索算法,来加速数据的检索。

调用一次A,把A方法返回的数据存在static变量中

用静态代码块 把A方法写到静态代码开里,这样类初始化的时候只运行一次。

将A方法获得的数据进行临时的存储。
如果是WEB项目的话可以存在servletcontext中。

如果需要A的返回数据一样,那查询一次保存下来就行了,以供别的类调用,像楼上说的用static变量,或者其它方式存下来。
如果每次需要的是最新查询的值,那就要每次调用A的方法来查询了,只能优化下程序了,一般情况下提升空间就不大了。