Чтобы ответить на ваш первый вопрос, вы можете открыть файл в виде двоичного потока и прочитать из него все, что захотите.Это не сильно повлияет на загрузчик классов, но если у вас есть пользовательский загрузчик классов, который манипулирует файлом и преобразует его во время выполнения в класс, который является допустимым и загружается JVM, это, безусловно, теоретически возможно.Я хотел бы знать, в чем дело, поскольку сам загрузчик классов не будет запутан таким образом.
Чтобы ответить на ваш второй вопрос, нет, вы не можете писать напрямую в адрес памяти с помощью Java.Вы можете вызывать функцию через JNI, которая могла бы это делать (вне выделения памяти JVM).
Мне кажется, что вы используете неправильный язык для того, что вы хотите сделать.