
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件开发模式一直以来都是需要程序员重点掌握的一个编程知识,而今天我们就一起来了解一下,java编程单例模式应用都有哪些类型。
单例模式的要素:
1.私有的静态的实例对象
2.私有的构造函数(保证在该类外部,无法通过new的方式来创建对象实例)
3.公有的、静态的、访问该实例对象的方法
单例模式分为懒汉形和饿汉式
懒汉式:
应用刚启动的时候,并不创建实例,当外部调用该类的实例或者该类实例方法的时候,才创建该类的实例。(时间换空间)
优点:实例在被使用的时候才被创建,可以节省系统资源,体现了延迟加载的思想。
缺点:由于系统刚启动时且未被外部调用时,实例没有创建;如果一时间有多个线程同时调用LazySingleton.getLazyInstance()方法很有可能会产生多个实例。
饿汉式:
应用刚启动的时候,不管外部有没有调用该类的实例方法,该类的实例就已经创建好了。(空间换时间。)
优点:写法简单,在多线程下也能保证单例实例的性,不用同步,运行效率高。
缺点:在外部没有使用到该类的时候,该类的实例就创建了,若该类实例的创建比较消耗系统资源,并且外部一直没有调用该实例,那么这部分的系统资源的消耗是没有意义的。
静态内部类的特点:
1、静态内部类无需依赖于外部类,它可以独立于外部对象而存在。
2、静态内部类,多个外部类的对象可以共享同一个内部类的对象。
3、使用静态内部类的好处是加强了代码的封装性以及提高了代码的可读性。
4、普通内部类不能声明static的方法和变量,注意这里说的是变量,常量(也就是finalstatic修饰的属性)还是可以的,而静态内部类形似外部类,没有任何限制。可以直接被用外部类名+内部类名获得。
希望这辈子,最让你无悔的事情就是来武汉达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!关注武汉达内,26门课程免费试听,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!