JAVA如何查看HttpRequest和HttpResponse占用的内存大小?
PHP中文网
PHP中文网 2017-04-17 17:22:33
0
1
372

如题,“如何输出HttpRequest和HttpResponse对象占内存的大小”?
网上说,利用java.lang.Instrumentation的API来计算,我调用了提供的一个工具类,但是报NullPointerException异常:

进一步分析,应该是实例化Instrumentation的premain()方法没有被JVM调用。
应该通过“ -javaagent”命令来调用,不知道应该如何调。

PHP中文网
PHP中文网

认证0级讲师

全部回复 (1)
Peter_Zhu

把下面的类编译好放到ObjectSizeFetcherAgent.jar中

import java.lang.instrument.Instrumentation; public class ObjectSizeFetcher { private static Instrumentation instrumentation; public static void premain(String args, Instrumentation inst) { instrumentation = inst; } public static long getObjectSize(Object o) { return instrumentation.getObjectSize(o); } }

在MANIFEST.MF中加入:

Premain-Class: ObjectSizeFetcher

然后写个test类

public class C { private int x; private int y; public static void main(String [] args) { System.out.println(ObjectSizeFetcher.getObjectSize(new C())); } }

在命令行中这样执行:

java -javaagent:ObjectSizeFetcherAgent.jar C
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!