Из спецификации JVM:
Переменная класса - это поле типа класса, объявленное с использованием ключевого слова static (§2.9.1) в объявлении класса или с ключевым словом static или без него в объявлении интерфейса. Переменные класса создаются при загрузке класса или интерфейса (§2.17.2) и инициализируются при создании значениями по умолчанию (§2.5.1). Переменная класса фактически перестает существовать, когда ее класс или интерфейс выгружается (§2.17.8).
Таким образом, когда ClassLoader загружает OutsideLibraryClass, значение инициализируется. Когда вы выполняете оператор присваивания в myVal, значение загружается во время выполнения на основе файла класса OutsideLibraryClass, который был загружен ClassLoader. Поэтому, если вы выключите JVM, поменяете файл jar, содержащий OutsideLibraryClass, и запустите его снова, он получит значение из нового класса.
UPDATE
Приведенное выше утверждение верно, если вы говорите о экземпляре локальной переменной внутри метода. Если ваша переменная myVal объявлена на уровне класса, люди, которые говорят, что она не изменится, верны.