В чем разница между динамической привязкой и динамической загрузкой?

Меня смущают эти концепции объектно-ориентированного программирования. Оба выполняются во время выполнения, но я не могу их различить.


person user2874456    schedule 12.10.2013    source источник


Ответы (1)


Динамическое связывание и динамическая загрузка действительно находятся на краю набора концепций Java, необходимых разработчику, если не за его пределами, поскольку Java обычно пытается избавить вас от таких вещей.

Динамическое связывание — это поиск по имени во время выполнения. Например, файл класса может вызвать инструкцию System.currentTimeMillis(), которая находится в другом файле класса. Класс (java.lang.System) загружается динамически (обсуждается позже), и метод выполняет поиск в этом классе по имени во время выполнения (хотя поиск может быть запомнен или кэширован).

Динамическая загрузка немного отличается. Это загрузка кода или метода, когда это необходимо (т. е. не загрузка файла класса до тех пор, пока он не потребуется. System не является хорошим примером, поскольку он, возможно, загружается JVM на ранней стадии, хотя TreeMap может выступать в качестве хорошего примера. Динамическое связывание может затем происходят.

person nanofarad    schedule 12.10.2013