社区
Java EE
帖子详情
是在for循环里创建对象好还是在for循环外创建好,各种分析
qq_21391605
2016-07-18 06:11:06
for(int i=0;i<10000;++i){
Object obj = new Object();
System.out.println("obj="+obj);
}
应改成
Object obj = null;
for(int i=0;i<10000;++i){
obj = new Object();
System.out.println("obj="+obj);
}
...全文
2055
10
打赏
收藏
是在for循环里创建对象好还是在for循环外创建好,各种分析
for(int i=0;i<10000;++i){ Object obj = new Object(); System.out.println("obj="+obj); } 应改成 Object obj = null; for(int i=0;i<10000;++i){ obj = new Object(); System.out.println("obj="+obj); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
码农星球撸码J
2017-08-10
打赏
举报
回复
脱离场景,这种问题没有意义。
ArayChou
2017-08-09
打赏
举报
回复
我来挖坟,中文互联网上充斥着这个问题的讨论和文章,80%的回答都是错误的。 java, 在循环外定义变量这种写法,不但性能不会提升,反而内存占得更多 请看我在知乎上的详细回答,如果对你有用,请点过赞,谢谢 https://www.zhihu.com/question/31751468/answer/211449991
iamjsber
2016-07-22
打赏
举报
回复
怎么会没有区别 区别大了 你循环个100 1000 次 没问题 你要成千上万次循环 还能没区别? jdbc 那块 循环遍历去 resultset值得时候 数据量大的话 你循环一次 就创建一个对象 受不了吧
南猿北辙
2016-07-22
打赏
举报
回复
一楼讲的有道理,如果循环次数为0的话,第一种不会创建对象,而第二种存在空对象
习惯纯洁的45度仰望
2016-07-22
打赏
举报
回复
Object obj是创建对象引用,引用的实例地址。 new Object();是创建对象实例 两者都会占用系统资源。 改进之前for循环中创建了10000次引用和10000实例,改进后是创建了1次引用,10000实例。 在方法执行完后内存资源会被回收
qq_19800927
2016-07-20
打赏
举报
回复
在外面设为空,在内部new更好
qq_19800927
2016-07-20
打赏
举报
回复
在外面更好,这样性能更高,因为这样只是有一个地址存在
tianfang
2016-07-19
打赏
举报
回复
看需求 对象只在循环内使用, 在外面创建,如字符串拼接的stringbufffer 对象在循环结束后需要继续使用, 在内部创建,如在循环内新建随机数,添加到map中,要新建Integer对象
领着自己闯天下
2016-07-18
打赏
举报
回复
在for循环内部创建的话,每次执行循环都会创建对象,没什么特别明显坏处,只是会消耗内存。所以我们通常在for循环外部实例化对象,因为它执行一次
大雨将至
2016-07-18
打赏
举报
回复
基本没区别 非要较真的话,就是第一种循环结束所有创建的对象就可以被回收。第二种最后一个创建的要等到方法结束才会被回收
Three.Js (WebGL ThreeJs) 网页3D实战视频教程
通过一个的简单的ThreeJS示例(类似于射击小游戏)实操,让大家可以在实际开发练习中由简单到复杂,分阶段,循序渐进的掌握ThreeJS开发的常用的一些重要知识点.课程主要知识点介绍:1 Threejs三大组件,相机、渲染器和场景的介绍2 在场景中如何
创建
几何体及一些旋转动画的实现,及
对象
的显示方式3 控制相机向前,向后移动,向左,向右旋转4 光源的介绍,及如何给场景添加不同的光源5 怎样给不同的
对象
添加阴影6 给
对象
添加材质,几种不同材质的区别及应用7 贴图的种类及各种不同贴图的效果8 自定义模型及其材质的加载及如何在场景对模型的定位9 怎样场景切换,及对切换场景的管理loadingManager10 通过for
循环
对多个
对象
的加载,克隆模型,这样可以拥有100个
对象
,所有
对象
都使用相同的几何体。11 第一人称武器的视角控制12 子弹的产生和发射效果13 怎样实现定时器来控制子弹的发射频率14 为武器添加有节奏的动作
Java基础:for
循环
内
外
创建
对象
的区别,哪个性能更优?
最近在项目中看到同事写的代码for
循环
中,
创建
对象
时喜欢声明成员变量,于是我就查了一下这样写的好处是什么?下面这些文章对这两种写法做了深入的测试说明,记得一定要看哦【JAVA】变量声明在
循环
体内还是
循环
体
外
的争论,以及怎样才真正叫『避免在
循环
体中
创建
对象
』?java中的for
循环
里
面
创建
对象
和for
循环
外
面
创建
对象
之间的区别for
循环
中
创建
对象
https。......
循环
内
创建
对象
和
循环
外
创建
对象
对于在
循环
外
创建
对象
比较好还是在
循环
内
创建
对象
好问题,我认为应该具体情况具体
分析
:1、如果
循环
内没有需要将
对象
添加到集合内等一些情况,则应该在
循环
外
创建
对象
,这样可以节省内存,不用多次
创建
对象
造成内存的过度使用。 String end = ""; for(int i = 0 ; i<readfiles.size(); i++){ End = end+readfiles.get(i); } ...
Java
循环
创建
新
对象
,Java for
循环
构建
对象
对内存消耗的
分析
(Java中的for
循环
里
面
创建
...
Java for
循环
构建
对象
对内存消耗的
分析
(Java中的for
循环
里
面
创建
Java for
循环
构建
对象
对内存消耗的
分析
(Java中的for
循环
里
面
创建
对象
和for
循环
外
面
创建
对象
之间的区别)针对此问题,csdn上一般都有3种解释1.非要较真的话,就是第一种
循环
结束所有
创建
的
对象
就可以被回收。第二种最后一个
创建
的要等到方法结束才会被回收2.https://www.zhihu.com/questio...
for
循环
内
创建
对象
和
外
创建
对象
BUG问题
项目场景: for
循环
封装list数据 问题描述: 使用for
循环
时,不小心将本应在
循环
内
创建
的
对象
创建
在了
循环
外
。因出现不同结果,对此进行了研究。 1.
循环
外
实例化
对象
(错误): List<String> list = new ArrayList<>(); Rank rank = new Rank(); for(int i = 1; i < 2; i++){ rank.setRank(i); list.add(rank); } 2.
循环
内实例化
对象
: List<
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章