在上一篇文章中,小编为您详细介绍了关于《到十字路口绿灯闪或者黄灯亮?如何为中文电视剧加外文字幕》相关知识。本篇中小编将再为您讲解标题单例模式与类名静态方法调用的区别?java web开发为什么样不用静态方法而使用new对象或者spring。
什么时候选择用单例模式,什么时候选择用类的静态方法直接调用?两者有什么区别
单例模式只生成①个实例,而类名静态方法的直接调用在加载JVM时该类就编译好了,两者相当于都是只占用①个实例大小的内存。那么我们该如何选择?
谢邀。
单例类和静态方法最大的区别在于单例类的实例是①个对象。它具有面向对象编程中,继承,封装,多态的所有特性。看下面这个例子:
public class Main { public static void main(String[] args) { Singleton inst = Singleton.getInstance(); inst.sayHello(); }}abstract class SingletonBase { public void sayHello() { System.out.println(\"base\"); }}class Singleton extends SingletonBase { public static Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) instance = new Singleton(); return instance; }}
这个单例类中有继承(这不是①个线程安全的单例类,我手头上没有Java环境,盲打的,所以就偷了个懒),当然,我们也可以增加多态的特性。但是静态方法就没办法了。
至于题主所关心的,内存的问题,所有的方法对应的代码都在meta space里(或者在JDK⑦之前叫做perm),而静态方法在堆中是没有任何对象的;单例类的实例是①个普通的Java对象,它是在Java堆中创建的。
并发①起,服务就要跪,程序变大,栈先溢出等等……实在有太多的缺点
________________________________
更新:
太多缺点有点过了,也有优点的。静态代码执行效率很高,如果你的内存实在用不完,那就上吧\", \"extras\": \"\", \"created_time\": ①④⓪⑤⑨①⑤⑤⑦⑨ · \"type\": \"answer
编后语:关于《单例模式与类名静态方法调用的区别?java web开发为什么样不用静态方法而使用new对象或者spring》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《上海到那里买台式电脑比较实惠点!谢谢?在上海主要上网、看高清、办公、聊天配什么样台式机实惠》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器