В недавнем вопросе, заданном недавно, мой простой ответ выдвинул на первый план многие мои неправильные представления о Java, JVM и о том, как код компилируется и запускается. Это создало во мне желание поднять мое понимание на более низкий уровень. У меня нет проблем с низкоуровневым пониманием, таким как сборка, как меня смущает байт-код и JVM. То, как объектно-ориентированный код разбивается на низком уровне, для меня потеряно. Мне было интересно, есть ли у кого-нибудь предложения о том, как узнать о JVM, байт-коде и функционировании Java более низкого уровня. Существуют ли какие-либо утилиты, которые позволяют вам писать и запускать байт-код напрямую, так как я считаю, что практический опыт работы с чем-то является лучшим способом для его понимания? Дополнительно и чтение предложений по этой теме будет принята с благодарностью.
Редактировать: дополнительный вопрос. Так что у меня есть своего рода подвопрос, ответы дали мне интересную идею, чтобы узнать о jvm, какова вероятность написания действительно простого языка, такого как brainf ** k или Ook, только в читаемом синтаксисе (возможно, я мог бы даже разработать его поддерживать oo в конце концов), который компилируется в байт-код быть? Будет ли это хорошим опытом обучения?