tomcat - 如果它们在两个 Web 应用程序中,Tomcat 是否会将同一个库文件加载到内存中两次?

标签 tomcat shared-libraries

我在 tomcat/webapps 文件夹下有两个应用程序。

tomcat/webapps/App1
tomcat/webapps/App2

两个应用程序共享相同的库。例如,它们存储在 tomcat/webapps/App1/WEB-INF/lib 中。

这两个库是否都在内存中加载了两次?

我应该把这些共享库放在tomcat/server/lib中吗?

最佳答案

如你所见here , Tomcat 在你的服务器上为每个 webapp 创建一个类加载器。 因此,如果您有 webapp1 和 webapp2 共享同一个库,那么这个库确实会被加载两次。

如果您的 Tomcat 服务器上运行的所有 web 应用共享此库,您最终可以将该库放在公共(public)目录 (tomcat-dir/common/lib) 中。

关于tomcat - 如果它们在两个 Web 应用程序中,Tomcat 是否会将同一个库文件加载到内存中两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267953/

相关文章:

java - 从 Tomcat 6 CometProcessor 中写入是非阻塞的

linux - 使 gcc 在链接时更喜欢静态库而不是共享对象?

c++ - 这个奇怪的 "/usr/bin/ld: cannot find -lXAW_LIBRARY-NOTFOUND"错误是什么意思?

c++ - 当我对共享库使用 "stripped, with debug_info"命令时, "file"是什么意思?

java - 如何控制Apache Tomcat开启的线程数

java - Tomcat MySQL 连接数据源不工作

java - getResourceAsStream 没有在 webapp 中加载资源

eclipse - 在 Eclipse 中为 Tomcat 开发两个相关项目

linux - 定位和编辑加载程序的动态符号表?

c - 覆盖函数指针后面的c静态函数