方法1
Student st = null
for(int i=0;i<1000;i++){
st = new Student();
st.setAge(i);
}方法2
for(int i=0;i<1000;i++){
Student st = new Student();
st.setAge(i);
}
请问为什么第一种方式比第二种要好呢。
Student st = null
for(int i=0;i<1000;i++){
st = new Student();
st.setAge(i);
}方法2
for(int i=0;i<1000;i++){
Student st = new Student();
st.setAge(i);
}
请问为什么第一种方式比第二种要好呢。
解决方案 »
- 解析一个xml文件的时候怎样自动打印其中的几行内容
- java swing做的登陆界面,怎样判断数据库中用户名和密码?
- 关于Filter的web.xml配置
- 关于hql的 的一个问题。
- 请问JAVA去除水印的方法,原理!
- 请教springaop 问题
- 请教javax.xml.parsers.SAXParserFactory.getSchema()的问题
- 页面的状态栏的问题,请教高手!分少可以再加!
- 发邮件应用程序打成jar包后运行异常。 求救!急!!!
- 为什么我启动weblogic 8。1的examplesServer后不能read the documentation?
- 亲们,帮忙~weblogic 难关
- 求教!<s:iterator>无法显示出来的问题!
因为只有一个引用,该引用已经被替代,符合垃圾回收机制
Student st = new Student();//拿个桶来--每次都拿个新桶,用一次就闲置
st.setAge(i);//接桶水
}方法1Student st = null;//拿个桶来
for(int i=0;i<1000;i++){
st = new Student();//把桶里水倒掉
st.setAge(i);//接桶水
}
?
jvm创建变量也是有内存开销的。就是Student st
创建变量时jvm会加载类信息,为每个变量分配内存空间。所以说变量越少,开销就相对越少。
方法1:在for循环外创建变量,只创建了一次
方法2:在for里面创建变量,每次循环都创建一次,循环结束了销毁。这里总共1000次。
这就很明显是方法2好。一般创建变量都放在循环外边。
因为第二种在for循环中,看上去是每次都new了一个Student ,但是一旦跳出循环,jvm就自动把这些Student都回收掉了。
而第一种,就算跳出循环,还是会有一个Student在内存里。。
jvm创建变量也是有内存开销的。就是Student st
创建变量时jvm会加载类信息,为每个变量分配内存空间。所以说变量越少,开销就相对越少。
方法1:在for循环外创建变量,只创建了一次
方法2:在for里面创建变量,每次循环都创建一次,循环结束了销毁。这里总共1000次。
这就很明显是方法2好。一般创建变量都放在循环外边。8楼正解
jvm创建变量也是有内存开销的。就是Student st
创建变量时jvm会加载类信息,为每个变量分配内存空间。所以说变量越少,开销就相对越少。
方法1:在for循环外创建变量,只创建了一次
方法2:在for里面创建变量,每次循环都创建一次,循环结束了销毁。这里总共1000次。
这就很明显是方法2好。一般创建变量都放在循环外边。8楼正解+1
最快捷的算法,应该怎么弄?