• Java中static方法


    今天学习到了并且应用到了java中的静态方法,并且了解到它的好处与缺点。

    ● 生命周期(Lifecycle):

    静态方法(Static Method)与静态成员变量一样,属于类本身,在类装载的时候被装载到内存(Memory),不自动进行销毁,会一直存在于内存中,直到JVM关闭。

    非静态方法(Non-Static Method)又叫实例化方法,属于实例对象,实例化后才会分配内存,必须通过类的实例来引用。不会常驻内存,当实例对象被JVM 回收之后,也跟着消失。 

     

    ● 在内存中存储位置

    静态方法和静态变量创建后始终使用同一块内存,是连续的。

    非静态方法会存在于内存的多个地方,是离散的。

    ● 效率

     静态方法的使用效率比非静态方法的效率高。

    ● 线程安全

    静态方法是共享代码段,静态变量是共享数据段。既然是“共享”就有并发(Concurrence)的问题。

    非静态方法是针对确定的一个对象的,所以不会存在线程安全的问题。

    ● 使用范围

    静态方法:⒈ 有静态属性的类,一般会定义静态方法。⒉ 没有属性的类,一般会定义静态方法。⒊ 如果一个方法与他所在类的实例对象无关,那么它就应该是静态的。静态方法可以被继承但是不能被覆盖

    ●  总计

    如果静态方法在系统中定义太多,会占用大量的资源,最后造成内存溢出,所以静态方法不能滥用。如果从线程安全、性能、兼容性上来看,选用实例化方法为宜。

  • 相关阅读:
    第十章学习笔记
    20201311陈子昂第十一章学习笔记
    第九章学习笔记
    第一次课堂笔记
    第七、八章学习笔记
    1.9. 触摸按钮(touch pad)测试
    1.8. 按钮
    访问修饰符 继承
    ie8下 子绝父相定位,鼠标滑入子元素增加宽高遮住父元素,导致子元素里面内容超出隐藏滑动时 字体滑动不一致的bug
    vscode打开自动显示cli.js
  • 原文地址:https://www.cnblogs.com/yuanting/p/4138240.html
Copyright © 2020-2023  润新知