0

在 struts 2 动作中,我通过请求获取参数。所以我在动作中定义了一个变量。现在架构师坚持在执行方法的finally块中将此变量初始化为null。我反对。因为,我不是在初始化这些类变量,而是在初始化这些变量的框架。但是架构师坚持认为,如果我们不释放 Java 变量,程序会消耗更多的内存。

请给我为什么不应该初始化的充分理由:在执行方法的 finally 块中动作类的变量为空。

4

1 回答 1

1

execute()在 Struts 动作中拥有字段的全部意义在于,一旦方法完成其工作,就能够在视图中访问它们。将字段设置为 null 只会阻止视图访问字段值,这在大多数情况下并不是您想要的。

此外,即使视图不使用该字段,Java 也有这个奇妙的东西,称为垃圾收集器,如果它们不再可访问,它会很高兴地对动作及其引用的对象进行垃圾收集。由于动作是非常短暂的对象(它们在请求期间保持活动状态,即几毫秒),垃圾收集器将能够非常快速地收集它们,并且它们不会长时间消耗内存。完全没有必要将它们设置为 null。

于 2013-08-16T13:21:56.440 回答