问个import的问题 为什么上面的创建一个对象比下面的要省内存资源?import java.util.Date;public class Test {
    Date a;
    Date b;
  // setter getter
}public class Test {
    java.util.Date a;
    java.util.Date b;
  // setter getter
}

解决方案 »

  1.   

    #1 
    今天公司的同事用虚拟内存监控工具测试的时候 发现我写的bean中 java.util.Date a; 的方式比import方式创建一个对象会增加内存消耗 我也不知道怎么得出来的 
      

  2.   

    简单的测了一下,你同事说的应该不靠谱,看Java 源代码也没有这么做,有没有专业的回答?Test1就是你的上面的
    Test2下面的
    public class Test3 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub System.gc();
            long total1 = Runtime.getRuntime().totalMemory(); // byte
            long m1 = Runtime.getRuntime().freeMemory();
            System.out.println("before:" + (total1 - m1));
            
            Test1 t1 = new Test1();
            
            long total11 = Runtime.getRuntime().totalMemory();
            long m11 = Runtime.getRuntime().freeMemory();
            System.out.println("after:" + (total11 - m11));
            
            
            System.gc();
            long total2 = Runtime.getRuntime().totalMemory(); // byte
            long m2 = Runtime.getRuntime().freeMemory();
            System.out.println("before:" + (total2 - m2));
            
            Test2 t2 = new Test2();
            
            long total22 = Runtime.getRuntime().totalMemory();
            long m22 = Runtime.getRuntime().freeMemory();
            System.out.println("after:" + (total22 - m22));
            
            
    }}
      

  3.   

    before:502456
    after:832856
    before:172424
    after:502808