• <bdo id='JvvDa'></bdo><ul id='JvvDa'></ul>

    <small id='JvvDa'></small><noframes id='JvvDa'>

      <legend id='JvvDa'><style id='JvvDa'><dir id='JvvDa'><q id='JvvDa'></q></dir></style></legend>

        <tfoot id='JvvDa'></tfoot>
      1. <i id='JvvDa'><tr id='JvvDa'><dt id='JvvDa'><q id='JvvDa'><span id='JvvDa'><b id='JvvDa'><form id='JvvDa'><ins id='JvvDa'></ins><ul id='JvvDa'></ul><sub id='JvvDa'></sub></form><legend id='JvvDa'></legend><bdo id='JvvDa'><pre id='JvvDa'><center id='JvvDa'></center></pre></bdo></b><th id='JvvDa'></th></span></q></dt></tr></i><div id='JvvDa'><tfoot id='JvvDa'></tfoot><dl id='JvvDa'><fieldset id='JvvDa'></fieldset></dl></div>
      2. 跨 JVM 或 Application 实例或 Tomcat 实例的单例

        Singleton across JVM or Application instance or Tomcat instance(跨 JVM 或 Application 实例或 Tomcat 实例的单例)

            <small id='fuIue'></small><noframes id='fuIue'>

            <tfoot id='fuIue'></tfoot>

                <tbody id='fuIue'></tbody>
              <legend id='fuIue'><style id='fuIue'><dir id='fuIue'><q id='fuIue'></q></dir></style></legend>
                  <bdo id='fuIue'></bdo><ul id='fuIue'></ul>
                  <i id='fuIue'><tr id='fuIue'><dt id='fuIue'><q id='fuIue'><span id='fuIue'><b id='fuIue'><form id='fuIue'><ins id='fuIue'></ins><ul id='fuIue'></ul><sub id='fuIue'></sub></form><legend id='fuIue'></legend><bdo id='fuIue'><pre id='fuIue'><center id='fuIue'></center></pre></bdo></b><th id='fuIue'></th></span></q></dt></tr></i><div id='fuIue'><tfoot id='fuIue'></tfoot><dl id='fuIue'><fieldset id='fuIue'></fieldset></dl></div>
                • 本文介绍了跨 JVM 或 Application 实例或 Tomcat 实例的单例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如果我在单个 Tomcat 实例(或任何其他服务器)上部署并运行同一应用程序的 2 个实例.然后将创建一个(单例类的)对象:

                  If I deploy and run 2 instances of same application on a single instance of Tomcat(Or any other server). Then a single object(of a Singleton class) would be created:

                  1. 跨单个 Tomcat 实例(但常见于同一应用程序的 2 个实例)或
                  2. 跨应用实例(2 个应用实例不同)

                  所以本质上我想了解每个 JVM 创建一个 Singleton 类的对象总是这样的情况吗?如果应用程序托管在 Web 服务器(或容器)上,这将如何工作.

                  So essentially I want to understand that is it always a case that a single object of Singleton class gets created per JVM? How does this works in case of application hosted on a Web server(or container).

                  推荐答案

                  如果你有一个单例类并且你在 Tomcat 中运行两个使用这个类的 webapps,这两个 webapps 将在运行 Tomcat 的 JVM 中获得这个单例的 2 个不同实例.

                  If you have a singleton class and you run two webapps that use this class in Tomcat both webapps will get 2 different instances of this singleton in JVM running the Tomcat.

                  但如果您的 webapp 将使用来自 JRE 或 Tomcat 共享库的单例,例如 Runtime.getRuntime webapps 将获得相同的 Runtime 实例.

                  But if your webapp will use a singleton from JRE or Tomcat shared libs, eg Runtime.getRuntime webapps will get the same instance of Runtime.

                  这是因为 Tomcat 为 webapps 使用单独的类加载器.当 webapp 类加载器加载一个类时,它首先尝试在 webapp 类路径中找到它,如果找不到该类,它会要求父类加载器加载该类.

                  This is because Tomcat uses individual class loaders for webapps. When a webapp class loader loads a class it first tries to find it on webapp class path, if the class is not found it asks parent class loader to load the class.

                  这篇关于跨 JVM 或 Application 实例或 Tomcat 实例的单例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
                  How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
                  Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
                  Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
                  How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
                  How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)
                    <tbody id='YaZ1R'></tbody>

                  <legend id='YaZ1R'><style id='YaZ1R'><dir id='YaZ1R'><q id='YaZ1R'></q></dir></style></legend>

                  <small id='YaZ1R'></small><noframes id='YaZ1R'>

                  <tfoot id='YaZ1R'></tfoot>
                      <bdo id='YaZ1R'></bdo><ul id='YaZ1R'></ul>

                        1. <i id='YaZ1R'><tr id='YaZ1R'><dt id='YaZ1R'><q id='YaZ1R'><span id='YaZ1R'><b id='YaZ1R'><form id='YaZ1R'><ins id='YaZ1R'></ins><ul id='YaZ1R'></ul><sub id='YaZ1R'></sub></form><legend id='YaZ1R'></legend><bdo id='YaZ1R'><pre id='YaZ1R'><center id='YaZ1R'></center></pre></bdo></b><th id='YaZ1R'></th></span></q></dt></tr></i><div id='YaZ1R'><tfoot id='YaZ1R'></tfoot><dl id='YaZ1R'><fieldset id='YaZ1R'></fieldset></dl></div>