java计算内存的大小方法
2016-10-31 14:19
197 查看
1 首先编写文件
package com.test;
public class MyAgent {
private static volatile Instrumentation globalInstr;
public static void premain(String args, Instrumentation inst) {
globalInstr = inst;
}
public static long getObjectSize(Object obj) {
if (globalInstr == null)
throw new IllegalStateException("Agent not initted");
return globalInstr.getObjectSize(obj);
}
}
2 编写文件manifest.MF文件
Premain-Class: com.test.MyAgent 记住中间的空格
3 将MyAgent打包成jar文件,并且需要把 manifest.MF打到jar中,用eclispe打包的时候可以选择你自定义的manifest.MF文件
4 编写 调用类
public class MainClass {
public static void main(String [] args){
System.out.println(MyAgent.getObjectSize(new Object()));
}
}
5 如果用eclipse 工具 请加上虚拟机启动参数-javaagent:D:\Users\XXXXXX\Desktop\test\size.jar(你自己打成jar的地址)
6 用eclipse工具运行 MainClass
package com.test;
public class MyAgent {
private static volatile Instrumentation globalInstr;
public static void premain(String args, Instrumentation inst) {
globalInstr = inst;
}
public static long getObjectSize(Object obj) {
if (globalInstr == null)
throw new IllegalStateException("Agent not initted");
return globalInstr.getObjectSize(obj);
}
}
2 编写文件manifest.MF文件
Premain-Class: com.test.MyAgent 记住中间的空格
3 将MyAgent打包成jar文件,并且需要把 manifest.MF打到jar中,用eclispe打包的时候可以选择你自定义的manifest.MF文件
4 编写 调用类
public class MainClass {
public static void main(String [] args){
System.out.println(MyAgent.getObjectSize(new Object()));
}
}
5 如果用eclipse 工具 请加上虚拟机启动参数-javaagent:D:\Users\XXXXXX\Desktop\test\size.jar(你自己打成jar的地址)
6 用eclipse工具运行 MainClass
相关文章推荐
- Java程序计算各种对象所占内存的大小的方法
- java对象占用内存大小计算方法
- java中计算对象内存大小
- 计算MYSQL需要的内存大小的估算方法
- java Object类占用内存大小计算
- Java对象内存结构及大小计算
- Java对象的内存布局以及对象所需内存大小计算详解
- 使用计算总内存大小的方法确定jvm中为对象分配的存储空间大小
- 聊聊JVM(三)两种计算Java对象大小的方法
- JAVA——对象所占内存空间大小的计算
- 计算占用内存大小的方法
- java计算文件大小三种方法以及优缺点比较
- 精确计算一个Java对象占用的内存大小
- java对象占用内存大小计算方式
- java Object类占用内存大小计算
- 虚函数列表: 取出方法 // 虚函数工作原理和(虚)继承类的内存占用大小计算 32位机器上 sizeof(void *) // 4byte
- java Object类占用内存大小计算
- 内存对齐(计算结构体大小)方法
- Java计算一个对象占用内存的大小
- Java对象的内存布局以及对象所需内存大小计算详解