欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java的Sizeof实现,JavaSizeof实现

来源: javaer 分享于  点击 10673 次 点评:69

Java的Sizeof实现,JavaSizeof实现


版本 0.1

下载Jar    下载源文件    在线文档

这篇文章介绍我的上篇文章中承诺的那个可以计算出Java对象的shallow size和deep size的小类库。

这个类库包含一个公共类:com.codeinstructions.sizeof.SizeOf,它实现了5个公共方法:

static long deepSize(java.lang.Object object) – 计算给定对象的deep size。
static long deepSize(java.lang.Object object, long maxSize) – 计算给定对象的deep size,但是为了避免深入到一个非常大的对象树中,因此只计算到给定的程度为止(maxSize)。
static long depthLimitedDeepSize(java.lang.Object object, int depth) – 返回给定对象的deep size,但是只计算到给定的深度(depth)。

static boolean isLargerThan(java.lang.Object object, long size) – 判断给定对象的deep size是否超过给定的限制(size)。
static int shallowSize(java.lang.Object object) – 返回给定对象的shallow size。

完整的java文档请看这里。

工作原理

这个类库基本上就是用反射(reflection)来得到类的内部细节,从而计算出其实例的大小。同样,也是用反射来遍历对象图来计算其deep size。
目前为止这个类库还是试验版本,仅在32位的Java 6的JDK第11个升级版上测试通过。
这个类库有BSD风格公共许可(BSD-like public license),也就是说只要你也遵守这个许可,就可以按照自己的喜好对这个类库进行修改了。

 

英文原文:Code Instructions,翻译:Wld5 - 郑雯

译文链接: http://www.wld5.com/1306.html

【如需转载,请在正文中标注并保留原文链接、译文链接和译者等信息,谢谢合作!】

相关文章

    暂无相关文章
相关栏目:

相关文章

    用户点评