Spring单例模式与NIO思考

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

    缺点一:因为只有一个对象,若是属于类的成员变量,则会被屡次调用,相似于类的静态变量。
    缺点二:BIO中,若是你在这个对象中的方法上使用了Synchronized,表明锁住的是该对象。线程

相关文章
相关标签/搜索