在我尝试构建的应用程序中,我有一个实用程序类,我将扩展它以使用其中的实用程序方法。
@Repository("userdao")
public class UserDAO **extends baseDAO**{
private float PROFILE_FIELD_COUNT=16.0f;
List<UserProfile> ObjList=null;
...
...
...
我的问题是,这个扩展会将所有方法加载到内存中吗?或者更好地为基类实例化对象并通过该对象使用方法?哪个在内存消耗方面轻量化?
答案 0 :(得分:1)
扩展另一个类(这样有两个类)在实际内存使用 1 方面与创建两个使用的不同类没有区别。同样,&#34;深度&#34;扩展树的大小不会影响实例的内存使用情况。
&#34;内存成本&#34;除了最有限的嵌入式环境之外,多个类的功能无关紧要:写出最清晰的成本。独立于子类型的选择(可能更好地分享&#34;实用方法&#34;通过依赖注入和组合),尝试将所有内容塞入单个&#34; DAO类&#34;可能是错的。
1 a 存在差异,请参阅Java Objects Memory Structure,具体取决于具体实施方式。