Java运行时链接总是动态完成吗?

时间:2014-10-07 23:25:46

标签: java

继上一个问题之后:“Exception in thread ”main“ java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing”

我想知道为什么在运行Java应用程序时必须再次指定包路径?

Java中的链接是否始终是动态的而不是静态的?

我来自C世界。

3 个答案:

答案 0 :(得分:3)

是的。在java中,您可以创建一个完全针对接口编译的jar,然后通过在类路径中提供它来放入实现。

答案 1 :(得分:3)

是的,Java是动态的'链接。如果您不需要功能等,这可以分发,重新定位,稀释库。链接基本上是根据需要完成的,即使在启动时也是如此。

此外,如果需要,Java支持多个ClassLoader,因此某些系统(如应用程序服务器)可以同时加载相同类的多个版本。

答案 2 :(得分:3)