测量会话属性对象的大小



我想测量对象(序列化与否)的大小,当它设置为 HttpSession 时。我该怎么做?即使找到一些支持问题,也无法使用。. 有人知道我该怎么做吗?会话侦听器的使用可能很有价值。但是如何测量物体的大小?例如

session.setAttribute("attrName",sessionObj); 

如何衡量此会话的大小Obj ?

您可以使用java.lang.instrument来测量对象的大小。

此类提供检测 Java 编程所需的服务 语言代码。检测是将字节码添加到 用于收集工具要使用的数据的方法。 由于更改纯粹是累加的,因此这些工具不会修改 应用程序状态或行为。此类良性工具的示例包括 监视代理、探查器、覆盖范围分析器和事件记录器。

这个答案是如何使用它的示例。

如您所述,[HttpSessionAttributeListener][3]是检查添加属性大小的好地方。在此处添加大小代码。

public void attributeAdded(ServletContextAttributeEvent scae) {
    System.out.println("Attribute addedd:["+scae.getName()+"],"+scae.getValue());
}

最新更新