zoukankan      html  css  js  c++  java
  • (c#疑问)static的优点是什么?为什么要使用static 变量或函数??

    转载:http://www.cnblogs.com/whzhouqun/p/4669837.html

    有一些频繁使用的东西,如果你每次使用都重新new一下,那么这个开销可能会很高,如果使用static,一直放在内存中,那么想用就直接用,而不需要重新new一块空间初始化数据。那么static就是为了实现一个系统的缓存作用的,其生命周期直到应用程序退出结束。

    静态成员包括静态字段和静态属性,静态成员和类相关联,不依赖于对象而存在,只能由类访问,而不能由对象访问; 静态成员属于类所有,无认创建多少实例对象,静态成员在内存中只有一份;实例成员属于类的实例所有,每创建一个实例对象,实例成员都会在内存中分配一块内存区域。 所以静态成员一般用于存放共享的数据段,如数据库连接字符串等。
    一个类如果只包含静态成员和静态方法,则该类可以定义为静态类,给类加上static修饰符; 静态方法和非静态方法: 一、性能上:静态方法和实例方法差别不大。所有方法,不管是静态方法还是实例方法,都是在JIT加载类时分配内存,不同的是静态方法以类名引用,而实例方法对对象实例引用。创建实例时,不会再为类的方法分配内存,所有的实例对象共用一个类的方法代码。因此静态方法和实例方法的调用,在性能上的差别微乎其微。 二、静态方法只能由类访问;实例方法只能由对象访问。

    优点: 1,静态变量在类载入时,就装入内存 2,使用时不用 New 就意味的不必 创建类中 所有对象,就可以调用 某个方法 缺点: 1,垃圾回收机制 不能 回收 静态变量,静态类变量 会常驻内存

  • 相关阅读:
    母牛的故事
    python 实现计算数独
    java程序计算数独游戏
    《深入理解Java虚拟机》笔记7
    安装red5 1.0.1版本Java_home不能用Java7
    计算流图中的循环集合
    《深入理解Java虚拟机》笔记5
    《深入理解Java虚拟机》笔记4
    n的阶乘-编程2.md
    爬楼梯问题-斐波那契序列的应用.md
  • 原文地址:https://www.cnblogs.com/wangbaohui/p/6555177.html
Copyright © 2011-2022 走看看