Никакой единственный метод в программе «не знает», где он находится в стеке. Все, что он знает, это его собственная маленькая работа, и она делает это и возвращается. Итак, когда вызывается Exception и печатается трассировка стека, откуда это происходит?Как создаются трассировки стека?
Неявно ли отдельный поток работает рядом с каждым приложением в JVM, которое контролирует состояние программы? Или сама JVM хранит эту информацию, и Исключения каким-то образом вытаскивают эти данные из нее, когда их бросают?
Если это так, можно ли использовать какой-либо вызов для извлечения трассировки стека (либо из потока монитора, либо из JVM) без, выбрасывающего исключение?
Да, меня очень интересует теория. :) Вот почему я задал вопрос, а не для какой-либо конкретной практической цели. – asteri
Хорошо, тогда мой ответ может дать некоторые выводы, и серия видео может заполнить пробелы. – kosa