解决对象的创建问题:
在开发过程中在调用属性或方法的时候都会创建对象,同一时间如果有很多人并发的访问你的东西会在内存中创建很多对象,这会导致内存中对象空间很多
想法:设计一个类,该类只能创建一个对象
作用:控制内存
方法:
1.饿汉模式(立即加载)
2.懒汉模式(使用时加载)
实现:
1.私有化构造方法
2.构建私有的静态的当前类的对象作为属性
饿汉:属性创建时直接 new出对象,属性对象初始化
懒汉:在调用方法时判断属性是否被初始化,没有则加载,如果已经初始化,直接调用
3.提供一个共有的静态方法用来返回对象(此时返回的对象是惟一的,所以同时调用时不会创建多个对象空间)
(以Java为例)
饿汉:
懒汉:
结论:以上两种创建方法,当第二次创建对象时构造方法并没有执行,因此证明对象只被创建过一次,空间中并不会创建多个存放改对象的空间,这种方式减少了对空间的占用,同时懒加载和饿加载可以根据情况的不同进行选择。