Ответ 1
Разница в документации API. System.loadLibrary(String libname)
позволяет загружать с пути по умолчанию - путь библиотеки Java.
Другой System.load(String filename)
позволяет загрузить его с абсолютного пути, который вы должны указать в качестве имени файла.
Если вы не хотите связываться с переменной среды java.library.path
, вы должны использовать System.load()