`

JVM优化机制好诡异

    博客分类:
  • JDK
 
阅读更多
 
		long i[] = new long[1000000];
		for(int j = 0; j < 1000000; j++) {
			i[j]= 0l;
		} 

如上代码,按long类型占8位计算,应该占8000000/(1024*1024) = 7.62939453125MB内存,没问题.
Long i[] = new Long[1000000];
		for(int j = 0; j < 1000000; j++) {
			i[j]= 0l;
		} 

如上代码,按Long类型至少占12位计算,应该占11.444091796875MB内存。

监测一下内存大小,JVM会对包装类型进行自动拆装箱,结果Long被优化为int类型.只占3.814697265625MB。

看来在Java对象中使用包装类型是不错的选择.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics