,我在我的笔记本电脑上运行一个简单的代码(Ubuntu的伴侣64位)用简单的代码在Solaris平台没有垃圾值
# include <stdio.h>
int main()
{
int i,j,l=0,swap,n,k,a[100],b[100],count;
printf("%d", count);
}
正如预期的那样,这应该会返回垃圾回收价值,并且它做的正是这一点。 我也跑了好几次。我每次都得到不同的结果,这表明每次都分配了新的内存。输出是这样的。
32576
33186
0
29318
0
32111
0
但是,请注意,对于某些情况下,我得到零
现在这个相同的代码是在Solaris服务器上执行。我在连接到这台solaris服务器的瘦客户机上运行它。但是这一次,程序只打印0,不管我执行程序的次数多少。我从另一个帐户登录到服务器,但仍然得到了相同的结果。 我认为solaris机器有某种无法回收的垃圾回收器,但事实并非如此。当我运行另一个程序时,我得到了垃圾值。
# include <stdio.h>
int main()
{
int i;
printf("%d", i);
}
我的问题是,这两个平台之间有一些区别还是我只是随机性的受害者?
垃圾收集标记不符合主题。阅读http://gchandbook.org/了解更多关于GC的信息 –