zoukankan      html  css  js  c++  java
  • JAVA数组所占内存大小的对比

    1.两个数据模型

    第一个是基本类型数组,第二个使用的是Float对象数组

    public class SummaryModel{
       
        private float[] summaryData;
    
        public float[] getSummaryData() {
            return summaryData;
        }
    
        public void setSummaryData(float[] summaryData) {
            this.summaryData = summaryData;
        }
    }
    public class SummaryModel1 {
       
        private Float[] summaryData;
    
        public Float[] getSummaryData() {
            return summaryData;
        }
    
        public void setSummaryData(Float[] summaryData) {
            this.summaryData = summaryData;
        }
    }

    2.测试程序

    public class Test {
    
        public static void main(String[] args) throws Exception {
            SummaryModel[] sms = new SummaryModel[100000];
            SummaryModel1[] sm1s = new SummaryModel1[100000];
            for(int i=0;i<100000;i++){
                SummaryModel sm = new SummaryModel(); 
                SummaryModel1 sm1 = new SummaryModel1(); 
                float[] f = new float[100];
                Float[] F = new Float[100];
                for(int j=0;j<100;j++){
                    f[j] = 1000f;
                    F[j] = 1000F;
                }
                sm.setSummaryData(f);
                sm1.setSummaryData(F);
                sms[i] = sm;
                sm1s[i] = sm1;
            }
            
            Thread.sleep(10000000);
            System.out.println(sms.length);
            System.out.println(sm1s.length);
        }
    
    }

    3.所占内存对比

     1).两个数组同时运行

      

     2).只运行float数组

      

     3).只运行Float数组

    4.总结

      可以看到在使用float数组的时候,内存使用大小基本就是float所占内存的大小即10W*100个float

      而使用Float数组时,因为Float是个对象,包括它自己的属性值,每个Float对象所占大小为16字节,基本上是float的4倍

      所以大数据量计算时,尽量使用基本数据类型,不要使用对象。

  • 相关阅读:
    WPF---数据模板(一)
    Oracle 相关知识
    Oracle 11g数据库详细安装步骤图解
    Mysql优化
    CSharp 相关知识点小结
    JS Date当前时间:获取日期时间方法在各浏览器中的差异
    【转】IE8浏览器无法保存Cookie的解决方法
    8 种提升 ASP.NET Web API 性能的方法
    DotNet 资源大全【转】
    DotNet 资源大全中文版【转】
  • 原文地址:https://www.cnblogs.com/TomSnail/p/4450701.html
Copyright © 2011-2022 走看看