JavaEE和JavaSE类加载
我在互联网上看到的JavaEE和JavaSE类加载之间的区别是 在JavaSE中,类装入器将类装入委托给其父类 然后尝试加载类本身 然而,在JavaEE中,类加载器首先尝试加载类本身,然后 将该类的类装入委托给其父类装入器 请验证我的理解。 另外,为什么它在JavaEE中设计成这样(保持这样有什么好处。) 这是我听到的链接[http://www.youtube.com/watch?v=t8sQw3pGJzM]我想这会对你有所帮助。据我所知,标准Java没有强制的类加载方式。但是,对于WebApps(WARs),指定类加载是父类最后一次加载。好吧 一个通用应用程序有3个标准类加载器:JavaEE和JavaSE类加载,java,classloader,Java,Classloader,我在互联网上看到的JavaEE和JavaSE类加载之间的区别是 在JavaSE中,类装入器将类装入委托给其父类 然后尝试加载类本身 然而,在JavaEE中,类加载器首先尝试加载类本身,然后 将该类的类装入委托给其父类装入器 请验证我的理解。 另外,为什么它在JavaEE中设计成这样(保持这样有什么好处。) 这是我听到的链接[http://www.youtube.com/watch?v=t8sQw3pGJzM]我想这会对你有所帮助。据我所知,标准Java没有强制的类加载方式。但是,对于WebApp
Integer
,ArrayList
,等等)。这就是您在问题中提到的:类加载器将加载委托到层次结构的顶部,然后如果父类找不到类,则每个类加载器将尝试加载该类,直到有人加载它。否则:ClassNotFound。长话短说:这不是一个简单的过程,但我不会说J2EE以与J2SE相反的方式处理类加载。相关(但如果你发现一个地方说上面描述的顺序是强制的,请包含链接。因此答案似乎不一致)。@Gamb我已经浏览了这个链接。但我没想到。但仍然存在一种混乱。顺便说一句,谢谢你分享这个链接。所以你同意我说的。。在J2EE和J2SE中,类加载器的行为是相反的。实际上是的,除了EE规范没有规定任何东西,只是它是以这种方式实现的。我的问题有些不同,我已经知道J2SE类加载,但它与J2EE类加载是否不同。这就是我的问题所在。谢谢。@John我理解你的问题,这就是为什么我描述了两者之间的区别。当然,它们是不同的,在J2EE环境中,您必须确保应用程序隔离。严格来说,它们是不同的,因为它们以不同的方式处理类加载(J2EE涉及更多的类加载程序,处理方式也不同)。好的,这很好,但是您没有提到J2SE和J2EE中类加载的顺序,我想问的主要是这个问题。@johnyou问:请验证我的理解,还有:为什么在javaee中设计成这样(保持这样有什么好处?)。我试图通过描述过程把两个答案融合成一个。不用担心,我会用更简单、更明确的术语来解释。系统类路径类加载器和应用程序特定类加载器之间是否有共享的类?