Spring单例模式与NIO思考

    本人java开发,今天在研究秒杀问题的时候,突然间脑子里就产生了这样的思考。
    众所周知,Spring默认是单例模式,那么单例模式有什么优缺点呢?
    优点一:创建的对象较少!在Tomcat模型为BIO时,会对每一个请求创建一个线程,如果创建的线程数较大,每一个线程中都有@Autowire这种注解,那么创建的对象就会非常之多。另外,如果对象B注入到对象A的属性中,如果对象A被创建了多个对象,那么对象B也会被创建多个,层层依赖。
    当然如果是NIO,就没有单例的必要了,因为它只会用一个线程了来处理数据请求,这也注定NIO不能用来IO密集型操作。

    缺点一:由于只有一个对象,如果属于类的成员变量,则会被多次调用,类似于类的静态变量。
    缺点二:BIO中,如果你在这个对象中的方法上使用了Synchronized,代表锁住的是该对象。

    原文作者:聆听的车辙
    原文地址: https://segmentfault.com/a/1190000018044825
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞