`
sukairui
  • 浏览: 10274 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

对面向对象程序执行慢的点点理解

阅读更多
良好的面向对象程序执行慢的原因
1。作为计算的一部分,每个数字作为独立的对象都在堆上分配,实例化和垃圾收集也带来了额外的开销。
2。若作为矩阵元素的数字散布在堆中,消除了标准矩阵可以使用高速缓存的性能优点。
3。所有的数值操作都是通过方法调用相应的对象来执行的,这导致了象动态调度决定调用哪个方法这样的附加开销。
4。每个数字作为一个对象占用了更多的内存。
5。对象和方法调用阻止或限制一些常规的编辑器优化,例如能在FORTRAN和Lite OO版本中执行的代码移动。
但从另一个角度看,面向对象版本 的代码比较小,更容易读,更容易保存,这在产品环境中很重要的。
分享到:
评论

相关推荐

    JAVA学习笔记

    面向对象编程是Java的核心特性,它提供了一种更符合人类思维的方式来组织和处理代码。在Java中,一切皆为对象,这意味着每个实体都可以被看作是...通过不断实践和深入理解,你可以构建出高效、可维护的面向对象程序。

    java的一点点小笔记

    Java编程语言是面向对象的、跨平台的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。它以其“一次编写,到处运行”的特性而闻名,这意味着编写好的Java程序可以在任何支持Java的平台...

    C++ 学生选课系统用上了一点点MFC

    而MFC(Microsoft Foundation Classes)是微软为C++开发者提供的一套面向对象的类库,它使得在Windows平台上进行应用程序开发变得更加便捷。本项目“C++学生选课系统”就是将C++语言与MFC框架相结合,构建了一个实际...

    雍俊海编著《java 程序设计》书目源代码

    1. **面向对象编程**:Java是一种完全面向对象的语言,书中可能通过类的设计、对象的创建和方法的定义来演示如何进行面向对象的思考和编程。例如,可能会有封装、继承、多态等概念的实例代码,帮助读者理解这些核心...

    java程序

    在学习和开发Java程序时,理解基础语法、掌握面向对象设计原则、熟悉类库和框架的使用以及具备良好的编程实践是非常重要的。同时,了解JVM的工作原理、性能优化技巧以及如何利用调试工具解决问题也是提高Java编程...

    学习Python的点点滴滴.zip

    6. **面向对象编程**:了解类和对象的概念,掌握继承、封装和多态,以及如何定义和使用类。 7. **异常处理**:学习try/except/finally语句,用于捕获和处理程序运行时可能出现的错误。 8. **函数式编程**:了解高...

    C#图书管理系统C#编程

    在C#学习的过程中,理解面向对象编程(OOP)是至关重要的。C#是一种强类型、面向对象的语言,它的类、对象、接口、继承、多态等特性是构建图书管理系统的基础。例如,可以定义`Book`类来表示图书,包含如`Title`、`...

    90.088.JAVA基础教程_Java基本语法-每天一考(90).rar

    总结来说,这个“90.088.JAVA基础教程_Java基本语法-每天一考(90)”的教程将带你走过Java编程的每一步,从理解基本语法元素到掌握面向对象的概念,再到实际编写和调试代码。每天的学习和练习将助你在Java编程的世界...

    mybatis和一点点spring的东西

    MyBatis的Executor执行器负责执行SQL,ResultHandler处理查询结果,ParameterHandler设置SQL参数,而StatementHandler则对SQL语句进行预编译和执行。 接下来,我们来看Spring。Spring框架以其强大的依赖注入(DI)...

    oracledll.rar

    OraOCCI10.dll提供了面向对象的C++接口,使得在C++程序中操作Oracle数据库变得更加方便。它封装了oci.dll中的功能,为开发者提供了一套面向对象的API,使得数据库操作更加直观和高效。 3. oraociei10.dll:Oracle ...

    PERL语言编程

    一旦 Perl 的编译器前端对你的程序表示满意了,它就把这些中间代码交给解释器执行(或者是给其它的能生成 C 或者字节码的模块后端)。听起来挺复杂,不过 Perl 的编译器和解释器干这些活效率相当高,我们的编译-运行...

    JAVA编程语言在计算机软件开发的作用.doc

    JAVA 语言自20世纪90年代诞生以来,以其独特的特性,如可移植性、面向对象和强大的适应性,极大地推动了软件开发的进步。 JAVA 编程语言的主要特点是: 1. **可移植性**:JAVA 的“一次编写,到处运行”(Write ...

    某某的VB学习经验

    - 作为一种面向对象的语言,VB使得开发者能够更轻松地处理对象属性与事件。 - VB支持多种编程范式,包括事件驱动和过程化编程等。 2. **初学者的学习经历**: - 学习VB的初衷往往是出于兴趣或需要解决问题。 - ...

    Perl语言全面编译(HTM)

    eval可以捕获和执行可能引发错误的代码块,而die则可以在程序遇到问题时立即终止并打印错误消息。 模块化编程在Perl中通过模块实现,CPAN(Comprehensive Perl Archive Network)是一个庞大的Perl模块库,包含...

    电子书库源代码

    源代码中可能会包含面向对象编程的概念,如类、对象、继承、封装和多态性。 2. **文件处理**:在`2ccc.com.txt`可能是一个日志文件或者配置文件,源代码中可能会涉及到读取、写入、追加、文件流操作等,这些都是...

    Java开发文档(供学习工作使用)

    1. **Java基础知识**:Java是一种面向对象的编程语言,它的基本语法包括变量声明、数据类型(如整型、浮点型、字符型、布尔型)、运算符、流程控制(如if-else、switch、for、while循环)、方法定义和调用等。理解...

    图片浏览器,用c#做的

    C#,由微软公司开发,是.NET框架的主要编程语言,它提供了丰富的类库和强大的面向对象特性,使得开发者能够快速构建高效、可靠且易于维护的软件。 【描述】:“学了C#后自己做的,不足之处请大家多多谅解。虽然整个...

    MoneyChanger:简单的C#应用​​程序可提高技能

    MoneyChanger是一个基于C#语言的简单应用程序,旨在帮助用户提升编程技能,特别是对于C#初学者来说,它提供了一个直观的平台来理解和实践面向对象编程的基本概念。在这个项目中,我们可以深入探讨C#的核心特性,包括...

    C++从零开始---入门教程

    2. **面向对象设计原则**:指导面向对象设计的最佳实践。 3. **类图**:使用UML表示类之间的关系。 ### 十四、何谓模板 #### 模板技术 1. **模板**:一种泛型编程工具,允许创建可应用于多种数据类型的通用函数或...

    Visual Basic 2005 Express Edition Starter Kit (2006)[source]

    7. **对象和类**:面向对象编程的核心,对象是具有属性(数据)和方法(行为)的实体,类是创建对象的模板。 8. **控件**:用于构建用户界面的元素,如Label、TextBox、Button等,每个控件都有自己的属性、事件和...

Global site tag (gtag.js) - Google Analytics