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



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

请给我不应该初始化的确切原因:在execute方法的finally块中,操作类的变量为null。

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

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

最新更新