zoukankan      html  css  js  c++  java
  • 懒汉模式、饿汉模式

    懒汉模式与饿汉模式:单例模式,仅有仅用一个对象!

    饿汉模式:单例类的字节码文件加载到方法区的时候 单例(唯一对象)就被new出来了。

    Public class Singleton{
       public static int num=10;

       Private Singleton(){

    }

    Private static Sington sing = new Singleton();

       Public static Singleton genInstance(){

       Return sing;

    }

    }

    Public class Test{

       Public static void main(String[] args){

         System.out.println(Singleton.num);

       }

    }

    Test一经运行,类调用Singleton.num,就创建对象new Singleton()放在内存的方法区;

    再用的时候也许一年之后,但是该对象依然是自己在方法区。即一用类就创建对象占据内存。好处在于多线程时,避免高并发性

    懒汉模式:什么时候 调用方法(getInstance)得到对象 什么时候才去new哪个唯一对象。

    Public class Singleton2{
       public static int num=10;

       Private Singleton2(){

       

    }

    Private static Sington2 sing2;

       Public static Singleton2 genInstance(){

          If(sing2==null){

          sing2= new Singleton2();

          }

       Return sing2;

    }

    }

    测试一下。

    Public class Test{

       Public static void main(String[] args){

         System.out.println(Singleton2.num);

       }

    }

    运行并未用Public static Singleton2 genInstance()方法,但需要对象sing2时,才去走if语句创建sing2对象。即用才去建,较省内存。

  • 相关阅读:
    Chromium之文件类型
    To Chromium之浏览器外框UI(2)
    union的代码有点难理解额
    Graphic的一些基本概念
    windbg*****************************TBD
    x86/x64的stack*****************************TBD
    关于tp框架终于有点点头目了、、、、
    学习使用thinkphp框架制作cms
    我只是一名小小的员工
    每天读5分钟,受益匪浅、
  • 原文地址:https://www.cnblogs.com/aboutlanander/p/12182178.html
Copyright © 2011-2022 走看看