动态绑定和动态加载有什么区别?

时间:2013-10-12 17:01:55

标签: java object-oriented-analysis

我对面向对象编程的这些概念感到困惑。两者都是在运行时完成的,但我无法区分这两者。

1 个答案:

答案 0 :(得分:1)

动态绑定和动态加载确实处于开发所需的Java概念集的边缘,如果不是外部的话,因为Java试图通常使您免于这些事情。

动态绑定是按名称进行的运行时查找。例如,类文件可以调用位于不同类文件中的指令System.currentTimeMillis()。类(java.lang.System)是动态加载的(稍后讨论),并且该方法在运行时按名称在该类中查找(尽管查找可以被记忆或缓存)。

动态加载略有不同。它是在需要时加载代码或方法(即在第一次需要之前不加载类文件。System不是一个很好的例子,因为尽管TreeMap可能会在{{1}}之前由JVM尽早加载它作为一个很好的例子。然后可以进行动态绑定。