java - 将值存储为变量或再次调用方法更好吗?

标签 java memory-management jvm jit

最近,我开始学习一些Java。从我对 JVM 的了解来看,JIT 似乎使它在需要 CPU 周期(即调用方法)的操作上变得非常快,但也使它非常需要内存。因此,当我需要来自与以前相同的方法的相同输出时,通常更好的方法是将之前的输出存储在变量中并再次使用它 - 同时一直将其保存在内存中 - 还是再次调用相同的方法?

最佳答案

更好的做法是将输出保存在变量中而不是再次调用该函数。只要需要,变量就会保留在内存中。在那之后,自动垃圾收集将负责将其从内存中释放出来。但是如果你调用这个函数,它会在每次被调用时耗尽它的激活记录堆栈的内存。因此,如果您希望您的程序不占用大量内存,最好将结果存储在一个变量中并在需要的任何地方使用它。

关于java - 将值存储为变量或再次调用方法更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3383465/

相关文章:

java - @embeddable 与 @entity 用于映射集合

c++ - 是否可以在其范围之外访问局部变量的内存?

c++ - 减少大型陌生代码库的内存占用

logging - 试图理解 tomcat hs_err_pid 日志

java - 同步eclipse保存 Action 规则

java - 将 slf4j 路由到 log4j,而不是相反

java - 为什么 Java 堆的最大大小是固定的?

java - 如何设置最大 xmx 和 xms 值而不出现内存不足异常

java - HSQL 有效过滤 NaN

c++ - 在模块(exes和dlls)之间使用STL(TR1)shared_ptr是否安全