Struts类变量(通过请求)在finally块操作中初始化为null

时间:2013-08-16 12:54:27

标签: class variables null initialization struts

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

请告诉我为什么不应该在execute方法的finally块中初始化:action类的变量为null。

1 个答案:

答案 0 :(得分:1)

execute()方法完成其工作后,在Struts操作中拥有字段的重点是能够在视图中访问它们。将字段设置为null只会阻止视图访问字段值,这在大多数情况下恰好不是您想要的。

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