测量 HttpSession 对象的大小

发布于 2024-08-08 16:24:34 字数 60 浏览 4 评论 0 原文

除了以编程方式测量会话中存储的每种数据类型(每个对象组成)的大小之外,是否有一种干净且简单的方法来测量它?

Is there a clean and easy way to measure it other than programatically measuring the size of each data type (that each object is composed of) stored in session?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

末が日狂欢 2024-08-15 16:24:34

MessAdmin 允许您计算 HttpSession 大小,尽管尚不清楚它是如何计算瞬态对象的大小

看起来,获取 HttpSession 对象的大致大小在生产中是徒劳的,而且对于受控环境,可能会获得更准确的大小。

需要注意的一件事是,由于字符编码的变化,序列化会话对象的大小必然不准确 - Java 中的字符串以 UTF-16 格式存储,而输出流可能采用不同的编码。关于为什么在 Java 中计算对象的大小是一个问题的更多详细信息,可以在 JavaWorld 文章

MessAdmin allows you to compute the HttpSession size although it is unclear on how it calculates the size of transient objects.

It appears that getting an approximate size of the HttpSession object is an exercise in futility in production, and one is likely to get a more accurate size for a controlled environment.

One thing to note is that size of the serialized session object is bound to inaccurate due to changes in character encoding - Strings in Java are stored in the UTF-16 format whereas the output stream could be in a different encoding. More details on why calculating the size of an object in Java is a problem, can be found in this JavaWorld article.

相思故 2024-08-15 16:24:34

这里有一个 SessionSize 类,它有一个返回大小的函数传递给它的 HttpSession 对象,是 Java Web 部件 库的一部分。

There's a SessionSize class here that has a function to return the size of an HttpSession object passed to it, a part of the Java Web Parts lib.

凝望流年 2024-08-15 16:24:34

会话内容必须是可序列化的。因此将其序列化并查看结果字节数组的大小。

它不等于内存大小,但可以用作它的粗略表示。

PS 请注意,瞬态字段(如果有)将被排除。

Session content must be Serializable. So serialize it and see the size of the resulting byte array.

It's not equal to the in-memory size, but can be used as a rough representation of it.

P.S. Note that transient fields, if any, will be excluded.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文