我的实体对象没有大量未初始化的字段,这些字段的数据类型从基元到集合对象等。但是问题是,在大多数情况下,并非所有字段都是必需的,因此它们未初始化。
每次用户请求时都会创建和销毁大量此类实体对象!所以我有点担心这是否可能是内存或性能方面的问题?!除非需要,否则不会初始化字段。所以我想问一下,如果我在我的类中声明了很多字段但只初始化/使用几个字段,这是否真的很重要?
正如this java tutorial pageFields that are declared but not initialized will be set to a reasonable default by the compiler.
这意味着每个未初始化的字段将占用几个字节,通常为 4 个字节用于int
s 和对象。
也就是说,这在很大程度上取决于您的特定系统 - 您的对象有多少字段,每个请求创建多少个对象,每秒有多少个请求等。这可能对不同的垃圾收集器产生不同的影响。
我建议您进行一些分析 - 查看当前对象和大量请求对系统(CPU、内存)的负载。然后,创建一些具有较少字段的假对象,并以相同的负载重新运行您的测试。如果您无法衡量任何差异,那么可能没有什么可担心的,您可以使用一些额外的未使用字段。