TGViewer
Dev Easy Notes Dev Easy Notes @dev_easy_notes · 2.91K subscribers
Post #64 1.52K
​​Эскюзмуа, я немножечко опаздасьон. Давай-те предствим что я просто поставил рассылку продолжения серии постов на через 3 месяца 😄

Итак вернемся к нашей теме! Как происходит загрузка класса? JVM запускает тот самый
 static void main
, и начинает подгружать классы указанные в import. Сначала она идет в Application Classloader.

Application Classloader не лезет сразу же в файловую систему, чтобы подгрузить классы. Для начала он ищет этот класс в кеше, если его там нет, то просит загрузить этот класс своего предка Последний использует аналогичный метод, эдакая обратная порука, где каждый пытается спихнуть работу на старшего.

Если ни один из Parentо’в не смог загрузить класс, только тогда Application Classloader лезет в файл/сеть и куда-то еще чтобы найти этот класс. И если он его не находит то кидает тот самый ClassNotFoundException или NoClassDefFoundError. Последние две ошибки вы могли ловить если в gradle указали compileOnly вместо implement (т.е сделали так, чтобы классы были доступны только во время компиляции)

👉Для чего это нужно?

1️⃣ Ну во-первых, чтобы вы знали куда копать если вдруг встретите ClassNotFoundException или NoClassDefFoundError.

2️⃣ Во-вторых эта технология уже ближе к хардкорному rocket science, и я надеюсь, что кто меня читает не хотят всю жизнь перекладывать жесоны. Знание этой технологии позволяет делать штуки вроде JRebel, она позволяет сделать подгрузку измененых классов без перезапуска приложения, что очень кстати для тех кто разрабатывает сервера. Помимо этого, она позволяет сделать штуку вроде импакт анализа о которой мы поговорим позже)
  • 👍 3
More from @dev_easy_notes
  1. Sep 24, 2026На всякий случай напомню напомню, если такую хуйню видите, сразу в бан кидаете. Вы скорее…
  2. Aug 4, 2026Короче, поясню, я давно ничего не пишу, потому что заебался) возможно я скоро вернусь, как…
  3. Aug 4, 2026Post #596
  4. Apr 17, 2026Меня вот что еще дико бесит, через год я буду уже как 10 лет в индустрии и все равно, кажд…
  5. Apr 15, 2026video post
  6. Apr 9, 2026Как оценить работу модели? Часто вижу высказывания в стиле: вот новый клод стал тупее, или…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →