我的问题是一个非常基本的问题,但我仍然很难完全理解它:
我的任务是发送包含512字节随机数据的UDP数据包(Java)。因此等于4096位。如果我发送大小为4096的字节数组(填充为“ 0”),是否等于512字节?
非常感谢:)
答案 0 :(得分:1)
我在这里找到了一篇有趣的文章:dzone.com
以下是重要部分:
如何计算Java对象的内存使用量?:非常简化的解释,说明了如何计算Java对象的内存。例如,假设您要计算一个Java对象的内存,该对象包含两个int变量,一个布尔变量,一个Long对象以及对其他对象的引用。内存结果如下:
对象标题的8个字节
2 x 4 = 8个字节(用于两个int变量)
1个字节的布尔变量
- 8个字节(对象引用)+ 8个字节(用于长数据类型)= 16个字节(用于长对象)
- 4个字节以引用其他对象
上述对象的总大小为8 + 8 + 1 + 16 + 4 = 37字节+ 3字节(用于填充)= 40字节。
如何计算Java数组的内存使用量?:该页面提供了有关如何计算Java数组对象的大小的示例。
例如,假设一个Java数组由20个Integer对象组成。以下是尺寸的详细信息: 数组标头对象为12个字节(标头为8个字节,数组的存储长度为4个字节)==> 20 x 16字节=整数对象为320个字节。