Java中double[]和Double[]内存占用分析
来源:互联网 发布:神经网络算法实例说明 编辑:程序博客网 时间:2024/06/18 03:58
背景
在编写java算法时将Map的value从double[]修改为Double[]发现内存增长了很多,因此对double[]和Double[]内存占用情况进行了分析。
Java对象内存布局
Java对象的内存布局包括:对象头(Header),实例数据(Instance Data)和补齐填充(Padding)。
对象头
对象头在32位系统上占用8bytes,64位系统上占用16bytes。
实例数据
原生类型所占内存
- 对齐填充
Java对象占用空间是8字节对齐的,即所有Java对象占用bytes数必须是8的倍数。
数组对象内存占用分析
double数组内存分布
Double数组内存分布
总结
可见当数据量大时,Double[]所占内存为double[]的4.5倍,因此当数据量大时采用Double[]会导致数据量暴涨。
参考 Java中对象的内存使用学习
阅读全文
0 0
- Java中double[]和Double[]内存占用分析
- C# 中 Double 和 Java 中 Double 的区别
- java中double a = (double)1 / i 和double a = (double)(1 / i ) 的不同
- Java中Double和Long互相转换
- Java中float和double精度
- Java中double和float的区别
- java中float和double的区别
- java中double和float区别
- java中float 和double的区别
- Java中Double和Long互相转换
- Java中Double和Long互相转换
- Java BigDecimal和double
- Java BigDecimal和double
- Java BigDecimal和double
- Java BigDecimal和double
- Java BigDecimal和double
- double 和 long double
- java中内存详解(int Integer double)
- memset用法详解
- C Primer Plus 6 笔记——可移植类型:stdint.h和inttypes.h
- 银行卡扫一扫识别OCR技术
- HDU 6035(2017多校第一场)。color tree (树形dp)
- C
- Java中double[]和Double[]内存占用分析
- HDU 2544 最短路
- springmvc之处理模型数据
- 十三、常用的运算符
- linux下终端分屏使用的两种方法(screen和tmux)
- 博客的理解
- POJ 3009:Curling 2.0
- MYSQL学习笔记(二十三)字符集和校对
- Windows下安装Vim插件管理Vundle及常用插件