`
zhang.jianjun
  • 浏览: 20560 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • NGG: 个人建议: 正确的做法应该是把样式放到外部css文件中,使用 ...
    js日期选择器

【JAVA优化编程】内存管理之——(8)不要提前创建对象

阅读更多

8  不要提前创建对象

    尽量在需要的时候创建对象,重复的分配、构造对象可能会因垃圾回收(GC)做额外的工作,降低系统性能,例如:

... ...
void f() {
    int i;
    A a = new A();
    // 类A的对象a被创建
    // 在判断语句之外没有应用过a对象
    ...
    if(...) {
        // 类A的对象a仅在此处被应用
        a.showMessage();
        ...
    }
    ...
}
 

 

    正确的书写方式为:

void f() {
    int i;
    ...
    if(...) {
        A a = new A();
        // 类A的对象a被创建
        // 在判断语句中使用了a对象
        a.showMessage();
        ...
    }
    ...
}
分享到:
评论

相关推荐

    关于java学习的一些好的代码

    Java自动管理内存,通过垃圾回收器回收不再使用的对象,防止内存泄漏。开发者需要理解何时对象会被标记为可回收,以及如何优化垃圾回收的性能。 最后,随着Java 8及更高版本的发布,函数式编程的概念也被引入。...

    Java语言程序设计(一)电子版教材.pdf

    - **自动垃圾回收**:Java提供自动内存管理功能,通过垃圾回收器(garbage collector)自动释放不再使用的内存空间。 - **优点**:简化了内存管理过程,避免了因手动管理内存可能引起的内存泄漏等问题。 4. **...

    俄罗斯方块,小游戏java版

    Java是一种跨平台的面向对象的编程语言,它的强类型、内存管理以及丰富的类库使其成为开发各种应用的理想选择。在本游戏中,Java的多线程特性起到了关键作用。"线程"是Java的标签之一,意味着开发者利用了并发处理来...

    Android编程之虚拟机Dalvik教程[PDF].rar

    《Android编程之虚拟机Dalvik教程》是一份深入解析Android操作系统核心组件——Dalvik虚拟机的宝贵资料。本文将从多个角度详细介绍Dalvik虚拟机及其在Android开发中的重要性,帮助开发者深化对Android系统运行机制的...

    java实习周记25篇.docx

    - **环境配置**:熟悉Java编程环境的搭建及配置,如IDE(集成开发环境)的选择和安装、项目结构的搭建等。 #### 第二周:Java基础知识掌握 1. **类之间的关系**: - **关联**: 表示一个类的对象与另一个类的对象...

    java牛人总结

    然而,Java中有一种类似`goto`的替代品——标签化的`break`和`continue`语句,它们可以用于从循环中提前退出或跳过某些迭代,尽管这并不等同于C或C++中的`goto`。 #### 3\. `&`与`&&`的区别 在Java中,`&`和`&&`都...

    栈的使用——可以对栈做各种栈的操作

    - **泛型编程**:使用面向对象语言的泛型或模板,可以使栈支持多种数据类型。 - **动态数组**:如C++中的`std::vector`或Java中的`ArrayList`,可以在需要时自动扩展,提供更灵活的容量管理。 总的来说,栈的使用...

    MyGlitchRiddenGame

    Java的垃圾收集机制虽然自动管理内存,但在大量对象创建或内存消耗大的情况下,仍需注意内存泄漏和性能瓶颈。我们可以通过分析代码中的内存分配和数据结构选择,学习如何提高程序的运行效率。 综上所述,...

    Android设计思想解读开源框架.pdf

    - **AOP(Aspect Oriented Programming)**:面向切面编程,是一种编程范式,用于将横切关注点(如日志记录、事务管理等)从业务逻辑中分离出来。 - **IOC(Inversion of Control)**:控制反转,是一种设计模式,用于...

Global site tag (gtag.js) - Google Analytics