// 在循环内创建对象
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
Object obj = new Object();
System.out.println("obj="+obj);
//obj.toString();
}
long end = System.currentTimeMillis();
System.out.println(end- start +" 时间 ");
// 在循环外创建对象
long start1 = System.currentTimeMillis();
Object obj = null ;
for (int i = 0; i < 100000; i++) {
obj = new Object();
System.out.println("obj="+obj);
//obj.toString();
}
long end1 = System.currentTimeMillis();
System.out.println(end- start + " " +(end1- start1) +" 时间 ");
其中一次的测试结果 : 2312 2328 时间
基本在循环外创建对象的情况比在循环内10测试的话,7次会快一些,但是这个很不明显。
分享到:
相关推荐
优化一般意义上说是提高已有系统的性能,减少如内存、数据库、网络带宽等资源的占用,是在...本文结合一些案例,进行具体的讨论,总结出两个有代表性的条例:尽量重用对象,避免创建过多短时对象;在循环处,多下功夫。
尽量避免在经常调用的方法,循环中new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度的重用对象,最好能用基本的数据类型或数组来替代...
在J2EE应用中常见的两个内存有关的问题是:游离的对象和对象循环。在构建J2EE应用时,架构工程师通常会使用到J2EE的基本部分——Servlet。如果架构师不使用Session Beans, Entity Beans, 或 Message Beans, 那么改进...
JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存...
1.6.2 动态创建对象... 12 1.6.3 动态方法调用... 12 1.6.4 推荐的使用原则... 12 1.7 基本代码技巧... 13 1.7.1 循环写法... 13 1.7.2 拼装字符串... 13 1.7.3 避免两次检索集合元素... 13 1.7.4 避免两次...
这些列表被专门硬编码到应用程序中,从而降低了代码的可读性,模块化程度,并且随之而来的是,与更优雅的解决方案相比,这也对性能产生了负面影响(在这种情况下,涉及几乎所有内容)循环;甚至是递归。) 在查看...
JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存...
例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。 通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。 [C#] ...
JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存...
使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,...3.尽量避免过多过常的创建Java对象尽量避免在经常调用的方法,循环中n
它使用了对象池的技术,通过在滚动过程中不断重用项目来实现循环滚动的效果。 使用LoopScrollRect时,你需要创建一个滚动视图容器,并将其中的项目放入一个预制体中。然后将这个预制体设置为LoopScrollRect的项预制...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...
8.4.5 产生关于对象的查询(DDL) 200 8.5 用VBA增强功能 200 8.5.1 用VBA创建更快的查询 200 8.5.2 窗体查询 201 8.5.3 生成临时的查询对象QueryDef 210 8.5.4 使用DoCmd对象的RunSQL方法 211 8.5.5 在...
8.4.5 产生关于对象的查询(DDL) 200 8.5 用VBA增强功能 200 8.5.1 用VBA创建更快的查询 200 8.5.2 窗体查询 201 8.5.3 生成临时的查询对象QueryDef 210 8.5.4 使用DoCmd对象的RunSQL方法 211 8.5.5 在VBA中...
启动镜像在运行时由一个小型的C装入程序载入,其本质是Jikes RVM启动必须的对象的集合,这些对象则是利用引导JVM的反馈所创建。 编译器在VM Magic里为一个类生成不同的代码(而非字节码)。VM Magic类允许对内存的...
例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能。 通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。 设置容量和长度 ...
该项目提供了FAT和exFAt以及具有日记功能的文件系统,用于创建高性能/高可靠性的应用程序。 exFAT Jorunaling和事务高性能循环文件IO。 在文件IO期间具有确定性。 文件区域提取和交换。 磁盘修复实用程序。 直接...
修复了以下问题:“属性”面板中的修改字段值(在SCHDOC或SCHLIB上编辑对象时),如果当前所选项目已更改为另一个项目,或取消选择(BC:9641)。 27975 改善了多板装配中板组件和外部零件之间的移动和锁定行为。 ...
创建对象 EXEC @hr = sp_OACreate 'PB_ExtendProcedure.ExtendProcedure',@object out IF @hr<>0 BEGIN EXEC sp_OAGetErrorInfo @object,@src,@desc out select hr = convert(varchar(4),@hr),Source=@src,...
本书为中南大学精品教材立项项目,分为上下两篇共21章,涵盖了面向对象技术中Java开发环境配置、程序设计基础、面向对象原理以及UML的知识。本书使用的开发环境是JDK 1.6+Eclipse 3.3+Rational Rose 2003,逐步引领...