Потому-что жава интерпретирует в байт код находясь в оперативной памяти. Если "С" код идет непосредственно в ячейки оперативной памяти, то на жаве представь так: Что в оперативной памяти есть огромное окно с витуальной машиной, куда идет код, и только оттуда уже в оперативную память.
Словами может быть не так понятно, на ютубе по этому вопросу есть куча роликов 100% ))
вот, сразу же первая сссылка... )
https://www.youtube.com/watch?v=G1ubVOl9IBw