“每创建一个实例都要装载进内存”,这话不对,一个类,只有在第一次被使用,比如产生实例,或者调用它的静态成员时才被加载,而且今被加载一次。对于每个新对象,新开辟的内存里只包含数据成员,不包含函数代码,函数代码(包括构造函数)是在加载类的时候一起加载进来,一个类的所有的实例共享同样一套函数代码,而并不是每个类各自独立的一套。函数考this指针来获知它正在操作的对象。所以“大对象”指的是数据成员占内存非常大的对象,而不是“有很多大的成员方法的对象”。

解决方案 »

  1.   

    恩,谢谢,觉得明白了许多,那你觉得象查询,添加等数据库操作,用static来比较好点呢,还是用创建类实例对象比较好点?哪个比较更节省内存??
      

  2.   

    在一个类中的变量为什么要加了static,然后另一个类才能够使用这个变量?
      

  3.   

    static还好,不用创建类的事例就就可以用。
      

  4.   

    即使表面上用了static,但类的内部,每次都要使用新的connection,或者从连结池获取数据连结。
    如果你的方法内部捕捉异常,那么可能不便于调试,因为在你的static方法外面没办法捕捉异常了。如果你的方法内部不捕捉异常,那么,实际上,你用static,也不会节约多少代码。
    建议:如果异常抛出的时候,总是能在让你一眼就看出来,那么使用static挺好的。否则,还是要把抛异常的代码控制在自己的手心里好一点
      

  5.   

    to funcreal() ( ) 信誉:100 
    不太清楚你的意思,用static无法在外面捕捉异常吗?
    而且我还想知道,对于数据库操作比较频繁时,用static和创建一个实例对象,哪个比较节省内存呢?如果要是让你们选择的话,通常都会选择哪一种呢?兄弟们帮帮忙啊
      

  6.   

    static方法是可以在外捕捉异常的。
    事实上,new一个实例是要花费一定时间和内存的,static方法是会比new一个实例节省一些。
    但是不是使用static就一定好,一般只是使用在工具类中。
    如果你觉得性能第一的话,你可以先考虑用static,否则的话,还是建立对象吧。