Java瞬态运行时改进?

Java瞬态运行时改进?,java,oop,memory,memory-management,field,Java,Oop,Memory,Memory Management,Field,在我的项目中,没有保存或加载。每次登录都会创建一个新对象 因此,从技术上讲,每一个领域的行为都好像是暂时的。但如果我把它们也都命名为瞬变的,即 private final Car car = new Car(); (即使每次登录时都会创建包含此字段的对象) 改为 private transient final Car car = new Car(); 在内存使用或速度方面,这会对我的项目产生任何积极的影响吗?将变量声明为瞬态不会对内存占用造成影响。瞬态意味着在序列化对象时,字段将不是持久状态

在我的项目中,没有保存或加载。每次登录都会创建一个新对象

因此,从技术上讲,每一个领域的行为都好像是暂时的。但如果我把它们也都命名为瞬变的,即

private final Car car = new Car();
(即使每次登录时都会创建包含此字段的对象)

改为

private transient final Car car = new Car();

在内存使用或速度方面,这会对我的项目产生任何积极的影响吗?

将变量声明为瞬态不会对内存占用造成影响。瞬态意味着在序列化对象时,字段将不是持久状态的一部分,在反序列化过程中,这些变量将初始化为其默认值


具有临时修饰符的成员将不符合序列化条件。
添加transient修饰符不会对程序的性能产生任何影响。

transient只意味着它不会被内置java序列化机制序列化
transient
,这只是表明该字段不应该被
ObjectOutputStream
序列化。据我所知,它对性能或内存使用没有其他影响。如果您的对象不可
序列化
和/或不使用对象输出流,则设置
瞬态
将不会产生任何效果。我认为您不应该像这样考虑
瞬态
。如果要持久化包含
car
字段的对象实例,应该考虑需要发生什么。目前没有保存或加载,这并不重要。默认情况下,我会省略
transient
关键字。还有一个警告:不要过早地优化。许多优化会影响可读性/复杂性,因此会损害代码的可维护性。