tomcat是如何实现项目独立运行的

铂金小虫 发布于 2013/09/09 11:20
阅读 551
收藏 0
就是说project1和project2都用到了ClassA,但是却是互不影响的(类的加载和初始化)。肯定不是一个项目一个线程吧。是子进程吗?服务器socket应该是项目共用的吧,不然如果每个子进程创建serversocket话,会端口占用吧。
加载中
0
逝水fox
逝水fox
每个项目有独立的ClassLoader。对虚拟机来说决定两个类是否是同一个,除了Class的全名外,还要看是不是同一个ClassLoader加载它的。
逝水fox
逝水fox
回复 @铂金小虫 : 是的,但是只限项目自己/WEB-INF/lib的jar包,要是跑到Tomcat的lib之类的就不是了
铂金小虫
铂金小虫
可能我想错了,比如项目都用了Hibernate的Session.class,虽然jar包一样,但是位于不同的物理路径,所以应该是作为不同的类加载吧。
返回顶部
顶部