猿问

一个类解耦成多个类,从实例化一个类到要实例化多个类,这样是不是增加了内存的消耗?

一个类解耦成多个类,从实例化一个类到要实例化多个类,这样是不是增加了内存的消耗?


慕标5832272
浏览 653回答 11
11回答

手掌心

如果解耦得当,基本不会增加内存消耗,因为对象中的方法和参数虽然被分成到了不同的类中,但每个方法和参数占用空间都没有变,所有总体内存也没有变。只是在对象信息栈和指针上多占一些内存,不过这些基本都是可以忽略的。

MM们

如果所有用到这一个类的地方,都需要实例化解耦后的所有类,那这个类就没有必要解耦

繁花不似锦

是但人工比内存贵得多

慕少森

就单从语义来看,这是肯定的。但是内存的消耗只是开发的一部分,毕竟还要考虑开发成本,维护成本

慕的地8271018

看起来没有太大的差别,只是CPU占用率后者明显大一些,当然我只是随便测了一下,仅供参考~

噜噜哒

这种过程可以将功能更加细化,这样维护起来就能更加轻松

慕森卡

不会有太大的变化,解耦后,将属性和方法都分到不同的类里面,内存使用率不会有太大的变化,即使有,可以忽略不计了。总之,利大于弊,何乐而不为呢。

达令说

从绝对意义上来说是的,消耗的内存增加了。但是,对象信息栈和指针上多占一些内存这种消耗是没必要考虑的,就像是if (a==b){echo a;} 比 if (a==b) echo a; 需要执行更多的指令一样。随着项目源码的增加、功能的扩展,维护是非常重要的问题,所以不可能丢了西瓜去捡芝麻。解耦对于维护来说价值就是西瓜,消耗的内存就是芝麻(何况还不如芝麻)。
随时随地看视频慕课网APP

相关分类

Java
我要回答