架构设计文章系列-Java内存估算

简单总结:

1.数据库记录放在JAVA里,用对象(ORM一般的处理方式)需要3-4倍左右的内存空间,用HashMap这种KV保存需要10倍空间;

2.如果你主要数据是text大文本,那空间一般可以按2倍估算。

后面找个例子验证一下。

参考文章:

如何估算内存消耗https://blog.csdn.net/dnc8371/article/details/106704798

关键结论:
对于不耐烦的用户,答案将是从大约等于5 x [Live Data占用的内存量]的内存开始,然后从那里开始进行微调。

将最大堆大小设置为3-4 x [实时数据大小]

估算数据库数据在java中内存占用

关键结论:
根据这个简单测试,我们可以总结一个结论:

1.数据库记录放在JAVA里,用对象(ORM一般的处理方式)需要3-4倍左右的内存空间,用HashMap这种KV保存需要10倍空间;

2.如果你主要数据是text大文本,那空间一般可以按2倍估算。

其他:
现在主机一般都是64位, 64位JVM从JDK1.6.45开始,当JVM最大内存小于32GB时,自动打开压缩指针特性,这样对象的内存占用空间少很多,由上表可以看出,至少减少1/3的空间。

java中简单内存计算

关键结论:
内存计算工具lucene-core
JVM中对象大小必须是8字节的整倍数,如果没有达到的话会通过对齐补充自动补全,再加上一个byte类型大小为17字节,但是不是8的倍数,所以会补充到24个字节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值