singleton为什么会失去作用

“但是在EJB中,Singleton模式已经失去作用,所以ServiceLocator才分成两种,一种面向WEB服务的,一种是面向EJB服务的。”

上次记得和你交流过这个问题。
我不明白,为什么在ejb中会失去作用。如果是分布式应用中,在多个服务器上部署或者多个app上部署了,那么会产生问题。但是对于单个app server我觉得还是有效的阿。
讨论一下

我理解主要是JVM的原因,如果EJB都是运行在一个JVM中,就无所谓了。

我感觉也是这样,但是那篇文章好像是不提倡在ejb中使用singleton,但是我觉得如果使用的话,没有什么坏处

singlton与application的意义有什么不同啊?

“使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。”

它在什么情况下回收呢?

singleton是模式application只是一种类型,其实就是一个ServletContext罢了。

singleton在什么情况被回收,只能研究 java的垃圾回收机制