社区
Java
帖子详情
如何计算一个Java程序运行占用多少内存,
学而时习之,不亦说乎。
2017-06-22 06:43:46
一个Java程序运行时候,任务管理器上面的内存专用工作集显示的内存占用,如何用代码计算
...全文
967
4
打赏
收藏
如何计算一个Java程序运行占用多少内存,
一个Java程序运行时候,任务管理器上面的内存专用工作集显示的内存占用,如何用代码计算
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuanxuan什么都不会
2019-07-17
打赏
举报
回复
这个是指当时这个类的内存占用情况还是当时所有的java程序的内存占用情况?
鸟临窗语报天晴
2019-01-09
打赏
举报
回复
因为任务管理器里的内存占用情况还包括Java虚拟机本身占用的内存
学而时习之,不亦说乎。
2017-06-22
打赏
举报
回复
运行结果为何和任务管理器上面的占用内存不一样
学而时习之,不亦说乎。
2017-06-22
打赏
举报
回复
package paixu; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String args[]) throws IOException{ Runtime run = Runtime.getRuntime(); System.in.read(); // 暂停程序执行 // System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + (run.totalMemory()-run.freeMemory()) ); run.gc(); //System.out.println("time: " + (new Date())); // 获取开始时内存使用量 long startMem = run.totalMemory()-run.freeMemory(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + startMem ); String str = ""; for(int i=0; i<50000; ++i){ str += i; } //System.out.println("time: " + (new Date())); long endMem = run.totalMemory()-run.freeMemory(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + endMem ); System.out.println("memory difference:" + (endMem-startMem)); /* run.gc(); System.out.println("memory> total:" + run.totalMemory() + " free:" + run.freeMemory() + " used:" + (run.totalMemory()-run.freeMemory()) ); */ } }
java
程序
占用
实际
内存
大小
很多人错误的认为运行
Java
程序时使用-Xmx和-Xms参数指定的就是程序将会
占用
的
内存
,但是这实际上只是
Java
堆对象将会
占用
的
内存
。堆只是影响
Java
程序
占用
内存
数量的
一个
因素。要更好的理解你的
Java
程序将会
占用
多大的
内存
需要先了解有哪些因素会影响到
内存
的
占用
。这些因素包括:
java
程序的
占用
内存
本文简明概要地说明了
java
程序的
占用
内存
构成 对象(Objects) 类(Classes) 线程(Theads) 本地数据结构(Native data structures) 本地代码(Native code) 每个因素对
内存
占用
的影响又会随着应用程序、运行环境和系统平台的不同而变化,那怎样
计算
总的
内存
占用
量?是的,想得到
一个
准确的数字不是那么容易,因为你很难控制本地(Native)部分。你能控...
Java
所编写的程序在运行的时候
占用
内存
是否真的很大了?
Java
所编写的程序在运行的时候
占用
内存
是否真的很大了?“
java
程序运行
的时候
占用
内存
很大”我相信只要接触IT这个行业的人大部分的人都会毫不犹豫回答
java
程序运行
的时候
占用
内存
很大。也是许多
java
程序员默认的说法。在这里在这里我想在这里说下。 和许多程序员一样我也从c转到
java
的。由于c是公认的最接近机器语言的,而大部分程序员都会c语言。所以这里我用c与
java
进行测试比较结果。测试环境
Java
的线程到底
占用
了多少
内存
?
原文排版比较好. 原文链接:https://mp.weixin.qq.com/s/wA3pUemz5oWJX6Zp9HFIGA 若是有人问你正在运行的
Java
程序的堆
占用
了多少
内存
, 你
一个
命令就给出了答案; 若是有人问你正在运行的
Java
程序的线程栈使用了多少
内存
, 该怎么得到答案呢? 故事背景 有人的
Java
程序遇到了 OOM,程序崩溃之前,只给出了这么一句关键遗言: "
java
.lang.OutOfMemoryError: unable ...
解析
一个
Java
对象
占用
多少
内存
空间
说明: alignment, 对齐, 比如8字节的数据类型long, 在
内存
中的起始地址必须是8的整数倍。 padding, 补齐; 在对象所占据空间的末尾,如果有空白, 需要使用padding来补齐, 因为下
一个
对象的起始位置必须是4/8字节(32bit/64bit)的整数倍(这又是一种对齐)。 问题描述
一个
对象具有100个属性, 与100个对象每个具有1个属性, 哪个
占用
的
内存
空间更大...
Java
50,526
社区成员
85,605
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章