|
|
1
5
应用引擎可以并将卸载空闲的应用程序
此外,如果您的流量足够大,GAE可以跨多个服务器在多个进程中运行您的应用程序。 因此,在这样的环境中,依赖静态成员甚至是单例成员可能是一个坏主意——使用GAE,您无法控制应用程序在其他计算机上的启动/停止/加载时间。 GAE Java FAQ中的这两个问题部分地解决了这个问题: 编辑: 我应该说,“长时间”实际上是未定义的,我认为谷歌不会发布它。更正确的说法是,应用程序引擎将卸载闲置一段时间的应用程序。 |
|
|
2
3
如果我错了,有人会纠正我,但我认为你根本就不能有单件,因为你的应用程序可以在n个进程中运行。 |
|
|
3
2
假设singleton是作为类中的静态方法实现的,或者作为静态引用实现的(还有其他方法吗?),可以通过卸载加载了singleton类的类加载器来垃圾收集singleton,前提是在其他类加载器中没有来自类的引用(例如,常见的问题是挂起引用的线程本地实例)。 我还没有使用GAE,但我想这就是发生的事情——类加载器正在被卸载。GAE不知道这是一个单实例——它只是释放对类加载器的引用。对于容器中的应用程序,理想情况下,这是将应用程序保存在内存中的唯一参考(如果幸运的话!)。一旦无法访问,整个应用程序将变为不可访问,并由垃圾收集器收集。当然,任何运行的线程都可能引用应用程序实例,因此会对此产生干扰,但我假设容器控制应用程序线程,并且仅在没有运行应用程序代码的请求(即线程)时释放类加载器。 |
|
|
S qasem · Android内存性能 8 年前 |
|
|
R83nLK82 · 在单例设计模式上引发IOException 8 年前 |
|
|
hal · 两个课程有什么区别?他们的工作方式不同吗? 8 年前 |
|
Jaquarh · 如何在不使用DI的情况下实例化父类 8 年前 |
|
|
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 8 年前 |
|
|
dicle · 视图控制器中的依赖项注入 8 年前 |
|
|
Kozuki · 如何在生产代码中考虑单例? 8 年前 |