我之所以要计算一个Object的size,是因为有一个项目里要缓存一些Object,想在unit test里预估一下每个Object占用的内存大小,从而估计出服务器的内存可以缓存多少Object。
原创
[原创]Zookeeper相关的ConnectionLossException的解决办法
最近遇到了一个比较头疼的问题:有一个Java project中的test case在Jenkins自动nightly build的时候经常failed,有越来越频繁的趋势,但是如果在它failed之后到Jenkins上手工重新run,它有时又能成功(但还是有失败的,失败与成功的比例大概各占一半)。
而且在我的计算机(Ubuntu)上跑这个test case,它几乎从来不fail,但是在Jenkins服务器上跑,它就总是挂掉。
这种诡异的问题很恼人,经过Jenkins记下来的build log分析,觉得最有可能的原因是和Zookeeper有关,因为这个test case使用了Curator的TestingServer来模拟Zookeeper Server,而且这个test case中启动了很多的service并注册到了Curator模拟的Zookeeper Server上,而且在test case运行的过程中,还会有很多个client不断地连接到Zookeeper Server上,从中取出多个service的信息,并与它们交互,总而言之,test case的流程比较复杂。
[原创] java.lang.NoClassDefFoundError 的解决方法一例
看清楚了,这个错误可不是java.lang.ClassNotFoundException,ClassNotFoundException通常是由jar包缺失造成的,编译通不过,自然就知道少了什么,而java.lang.NoClassDefFoundError是有可能编译通过的。
我遇到的这个情况,也是编译jar包能通过,但是在运行unit test的时候总是fail。
运行unit test输出的错误信息大致如下:
java.lang.NoClassDefFoundError: javassist/NotFoundExceptionat org.apache.curator.test.TestingServer.<clinit>(TestingServer.java:32)......




























![y = f(u),\;u = \varphi (x)\; \Rightarrow \;y = f[\varphi (x)]](https://www.codelast.com/wp-content/plugins/latex/cache/tex_178b426a123e599c976787abc0cf659d.gif)
![f[\varphi (x)]](https://www.codelast.com/wp-content/plugins/latex/cache/tex_7ff01934bdaba403e9edf06aa667a406.gif)
