美文网首页
单例和静态工具类的区别

单例和静态工具类的区别

作者: 7i昂 | 来源:发表于2019-11-09 15:23 被阅读0次

内存上:

单例模式执行的时候需要new 一个对象出来存储在堆栈里面,而静态方法不需要,它不依赖于对象(普通方法是Object.method而静态方法是class.method),但是他也是需要内存的,它是以代码块来存储

生命周期:

静态方法的类会在代码编译的时候就被加载,静态方法中产生的对象,会随着静态方法执行完毕而释放掉,而且执行类中的静态方法时,不会实例化静态方法所在的类。

如果用单例模式, 产生的那一个唯一的实例,会一直在内存中,不会被GC清除的(原因是静态的属性变量不会被GC清除),除非整个应用退出了JVM

执行效率:

静态方法与实例方法,在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。
但是从日志打印来看,个人感觉还是静态方法在执行效率上快一点。

相关文章

  • 单例和静态工具类的区别

    内存上: 单例模式执行的时候需要new 一个对象出来存储在堆栈里面,而静态方法不需要,它不依赖于对象(普通方法是O...

  • Android开发教程——设计模式之单例模式

    这篇文章将解决你以下几个疑问: 为什么要使用单例? 单例有哪些写法? 单例存在哪些问题? 单例与静态类的区别? 有...

  • 静态方法、单例模式区别

    观点一:(单例) 单例模式比静态方法有很多优势:首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集...

  • 单例模式

    单例类有一个静态单例类指针,在静态方法中new该指针实例化是懒汉,在单例类外部::初始化该指针是饿汉。 保证一个类...

  • 技术文章收集

    单例模式Java 类加载静态类加载时机

  • 单例模式和静态类的区别

    https://www.cnblogs.com/windpoplar/p/12944952.html[https:...

  • 单例

    使用单例设计模式的类只有一个对象实例,基于此核心来编写代码。 懒汉式 饿汉式 内部静态类实现单例 枚举单例 上述单...

  • Java 单例模式

    什么是单例模式? 单例模式即一个类在程序中永远只有一个实例。 单例的写法。 饿汉式(静态常量) 饿汉式(静态代码块...

  • Scala 单例对象与伴生对象

    单例对象 Scala单例对象是十分重要的,因为没有像在Java一样,有静态类、静态成员、静态方法,但是Scala提...

  • OkHttp的简单封装使用

    封装单例工具类,包含get和post请求 调用方式

网友评论

      本文标题:单例和静态工具类的区别

      本文链接:https://www.haomeiwen.com/subject/ikknbctx.html