Java 实际上,始终在构造函数内部实例化是否更有效?或者在需要它的方法内部实例化?
例如,假设我有Java 实际上,始终在构造函数内部实例化是否更有效?或者在需要它的方法内部实例化?,java,methods,constructor,instantiation,Java,Methods,Constructor,Instantiation,例如,假设我有 Random random = new Random(); 在构造函数内部。它似乎更适合依赖于它的方法(可能是随机数生成器方法) 但假设同一方法每次都必须清除数组列表,以便在每次调用时输出随机数。在方法的开头插入一个.clear()调用是否更好?或者从构造函数中删除数组列表的实例化并将其插入此方法?记住。尽可能严密地审视事物。这里衡量效率不是正确的标准。考虑可读性、局部性、将相关代码保持在一起、分离关注点等。clear()-O(n)。垃圾收集器使用O(1)将其移除。因此,如果您
Random random = new Random();
在构造函数内部。它似乎更适合依赖于它的方法(可能是随机数生成器方法)
但假设同一方法每次都必须清除数组列表,以便在每次调用时输出随机数。在方法的开头插入一个
.clear()
调用是否更好?或者从构造函数中删除数组列表的实例化并将其插入此方法?记住。尽可能严密地审视事物。这里衡量效率不是正确的标准。考虑可读性、局部性、将相关代码保持在一起、分离关注点等。clear()
-O(n)。垃圾收集器使用O(1)将其移除。因此,如果您不需要保留您的收集,请不要保留它并安装一个新的。顺便说一句,垃圾收集器将删除每个“已清除”的对象,因此您在尝试管理此类内存时,最好依赖javausage@azurefrog我喜欢你的回答,有时把整个节目想象成一个整体让我感到困惑。非常有帮助!