b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

java中的基本类型包对象占用的内存大小(转)

电脑杂谈  发布时间:2020-08-23 08:04:20  来源:网络整理

封装系统工具_封装工具_封装工具 内存

这是一个程序. java中没有现成的sizeof实现. 主要原因是java中基本数据类型的大小是固定的,因此似乎不需要使用关键字sizeof.

实现的想法是这样的: java.lang.Runtime类具有一些简单的功能,可能涉及内存管理:

封装工具_封装工具 内存_封装系统工具

每个Java应用程序都有一个classRuntime实例,该实例允许该应用程序与应用程序运行所在的环境进行交互. 当前的运行时可以从getRuntime方法中获取.

这个例子写得很好,仅说明了Java中基本类型封装对象所占用的内存大小.

封装系统工具_封装工具_封装工具 内存

1. 一个简单的Object对象占用8个字节的内存空间,因为每个实例必须至少包含一些基本操作,例如wait()/ notify(),equals(),hashCode()等.

2. 使用Integer对象占用16个字节,而int占用4个字节,封装后的内存消耗是4倍大

封装工具 内存_封装系统工具_封装工具

3. 那么Long似乎比Integer对象使用更多的空间,而Long占用的空间也是16个字节.

这仅表明JVM的基本类型封装对象的内存分配规则如下:

对象占用的内存(8个字节)+最大基本类型(长整数)(8个字节)所占用的内存= 16个字节.

JVM强制使用8个字节作为边界.

因此,所有基本类型的包装对象占用的内存大小为16个字节. 但是仍然存在差异. 例如,尽管Integer对象占用16个字节的内存,但它们仅使用对象(8个字节)+ int的内存(4个字节)= 12个字节占用的内存. 有4个字节根本不使用. 哈哈,经过一夜的仔细分析,仍然有很多收获.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-305006-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...