Java = Getter/Setter =这是否会在运行时和访问时间(CPU周期?)中增加"对象大小"

jen*_*ens 2 java performance

我需要编写一个ajax applicatoin,在服务器端(在java中实现)将创建数百万个小对象并保存在内存中.通常我会对任何对象使用beanstyle(使用getter/setter).

我的问题:它是否在运行时有所不同(关于内存使用和访问的CPU时间),对于实例化对象具有getter/setter方法而不是拥有它们并直接访问字段/成员?例如,如果让getter/setter使每个方法和实例的对象变大5bytes,那么这将大大增加数百万个ob对象.访问getter vers同样直接访问有关cpu周期的成员/变量.

public String myvartoaccess;

vs

private String myvartoaccces;
public String getMyvartoaccess();
Run Code Online (Sandbox Code Playgroud)

非常感谢!延

Kev*_*ent 6

getter和setter会在的大小上添加一小部分; 但是,单个对象的大小不会受到影响.因此,无论您有一个对象还是一万个,该方法的内存成本将只添加一次.

至于CPU开销,会有很小的开销; 但是,这应该是优化的,可以忽略不计.

  • JVM最有可能内联简单的getter,因此不会有任何CPU开销. (3认同)