关于资源占用的问题?

    
追风 02-12-25

如果一个java程序有10个方法,并且每个方法都有很多操作(包括数据库连接,文件操作等),如果我每次只使用其中一个方法,那生成该类的实例会不会浪费很多资源,是不是应该把这些方法定义成静态的?

geshe
2002-12-25 14:12

对于一个程序来说,在内存一般会这么放,一部份放程序代码,一部份放用户数据,包括堆和栈。

JVM怎么放,我不知道,应该差不多吧。对于一个类中的很多函数,如果你不调用它,它仅仅会占用放程序代码的那部分,不会影响到用户数据的那部分。类的实例,应该在它的内存空间,放一些指向这些类函数入口的指针,类成员变量应该是放在类的实例里的,而静态成员,是放在类的空间里,也就是说,在类调入内存里,类的方法的定义已经进入内存,但它不会随着类实例的增加,而发生变动。

说得应该错的不多。
:D

hxz
2002-12-25 15:15

在看候捷的com系列中有说到!是楼上这样说的(C++)
类实例也是一个指针而已!但一个很大的类确实不明智,至少不方便阅读

banq
2002-12-25 20:29

如果该类的方法是工具性质,可以做成静态。

追风
2002-12-26 08:46

方法很多,确实不方便阅读,可如果使用模式来解决,我怕类的数目会太多,而且每个类里只有一个方法。暂时我把方法定义为静态同步.

5Go 1 2 3 4 ... 5 下一页