`
cuichang
  • 浏览: 92636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于在循环内创建对象的性能问题

阅读更多
 // 在循环内创建对象   

 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次会快一些,但是这个很不明显。

 

分享到:
评论

相关推荐

    J2EE系统优化之对象与循环

    优化一般意义上说是提高已有系统的性能,减少如内存、数据库、网络带宽等资源的占用,是在...本文结合一些案例,进行具体的讨论,总结出两个有代表性的条例:尽量重用对象,避免创建过多短时对象;在循环处,多下功夫。

    Java性能优化

    尽量避免在经常调用的方法,循环中new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度的重用对象,最好能用基本的数据类型或数组来替代...

    构建高性能J2EE应用的技巧

    在J2EE应用中常见的两个内存有关的问题是:游离的对象和对象循环。在构建J2EE应用时,架构工程师通常会使用到J2EE的基本部分——Servlet。如果架构师不使用Session Beans, Entity Beans, 或 Message Beans, 那么改进...

    JAVA性能瓶颈和漏洞检测

    JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存...

    .net性能优化宝典

    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 避免两次...

    ObjectGenerator:使用解析器(从模板创建)和源数据以及内部缓存创建复杂的对象

    这些列表被专门硬编码到应用程序中,从而降低了代码的可读性,模块化程度,并且随之而来的是,与更优雅的解决方案相比,这也对性能产生了负面影响(在这种情况下,涉及几乎所有内容)循环;甚至是递归。) 在查看...

    JAVA性能瓶颈和漏洞检测.JProbe.Suite.v7.0.part2

    JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存...

    StringBuilder用法

    例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。 通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。 [C#] ...

    JAVA性能瓶颈和漏洞检测].JProbe.Suite.v7.0.part1

    JProbe Memory Debugger可帮助开发人员快速查找Java代码的内存泄露和对象循环。内置的图形化实时内存使用和对象视图,有助于开发人员理解应用的内存使用,设法减少内存消耗以提高应用性能。 主要功能: 识别内存...

    Java编程性能优化的技巧

    使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,...3.尽量避免过多过常的创建Java对象尽量避免在经常调用的方法,循环中n

    unity-ScrollRect

    它使用了对象池的技术,通过在滚动过程中不断重用项目来实现循环滚动的效果。 使用LoopScrollRect时,你需要创建一个滚动视图容器,并将其中的项目放入一个预制体中。然后将这个预制体设置为LoopScrollRect的项预制...

    超级有影响力霸气的Java面试题大全文档

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...

    Access+2000中文版高级编程

    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 在...

    Access 2000中文版高级编程(part1)

    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中...

    jikesrvm-3.1.3.tar.gz_jikes_magic_www.3tar .com

    启动镜像在运行时由一个小型的C装入程序载入,其本质是Jikes RVM启动必须的对象的集合,这些对象则是利用引导JVM的反馈所创建。 编译器在VM Magic里为一个类生成不同的代码(而非字节码)。VM Magic类允许对内存的...

    stringBuilder完整版.pdf

    例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能。 通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。 设置容量和长度 ...

    rtfsprofatfilesystem:支持FAT,exFAT和日记功能的文件系统,用于创建高性能,高可靠性的应用程序

    该项目提供了FAT和exFAt以及具有日记功能的文件系统,用于创建高性能/高可靠性的应用程序。 exFAT Jorunaling和事务高性能循环文件IO。 在文件IO期间具有确定性。 文件区域提取和交换。 磁盘修复实用程序。 直接...

    Altium Designer Beta 19.0.10完整版安装包+安装教程+和谐文件

    修复了以下问题:“属性”面板中的修改字段值(在SCHDOC或SCHLIB上编辑对象时),如果当前所选项目已更改为另一个项目,或取消选择(BC:9641)。 27975 改善了多板装配中板组件和外部零件之间的移动和锁定行为。 ...

    存储过程的安全及性能优化

    创建对象 EXEC @hr = sp_OACreate 'PB_ExtendProcedure.ExtendProcedure',@object out IF @hr&lt;&gt;0 BEGIN EXEC sp_OAGetErrorInfo @object,@src,@desc out select hr = convert(varchar(4),@hr),Source=@src,...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    本书为中南大学精品教材立项项目,分为上下两篇共21章,涵盖了面向对象技术中Java开发环境配置、程序设计基础、面向对象原理以及UML的知识。本书使用的开发环境是JDK 1.6+Eclipse 3.3+Rational Rose 2003,逐步引领...

Global site tag (gtag.js) - Google Analytics