Почти каждый Java разработчик знает, что программы, написанные на языке Java изначально компилируются в JVM-байткод и хранятся в виде class-файлов стандартизованного формата. После попадания таких class-файлов внутрь виртуальной машины и пока до них еще не успел добраться компилятор, JVM интерпретирует байткод, содержащийся в этих class-файлах. Данная статься содержит обзор принципов работы интерпретатора применительно к OpenJDK JVM HotSpot. Читать дальше →
В этой статье я хотел бы обобщить всё, что мы знаем про Hot/Live Reloading на JVM, и далее показать, как я пришел к реализации универсального Live Reloading решения для любых веб-приложений на JVM.Вкратце, в этой статье мы:???? Попробуем сформулировать, какие виды релоадинга бывают. ???? Подробно рассмотрим, какие реализации существуют на JVM. ???? И немножко обсудим детали реализации универсального решения, и что вообще к нему привело. Читать далее
В предыдущей части я коснулся плюсов и минусов работы в больших компаниях. Озвучил несколько причин, почему именно сейчас золотое время, чтобы начать карьеру инженера программиста, и то, почему big tech подходящее место для этого. В этот раз я расскажу, почему ответственность за развитие карьеры инженера лежит на нас самих. Как компании способствуют этому росту и как его измеряют. Как уровень инженера влияет на размер его компенсации и из чего эта компенсация состоит. Что там про компенсацию ???? ...
Скомпилируем простенькую программу выводящую "Hello World" и пройдемся по его структуре Не думаю, что статья будет достаточно информативной для тех, кто поверхностно не знает как выглядит байт-код и как с ним работает JVM (например, хотя бы простейшие инструкции (знание об их существовании)). На самом деле, это не так сложно. Достаточно использовать инструмент javap из JDK и рассмотреть дизассемблированный код. А мы приступим к разбору самой структуры байт-кода для JVM Читать дальше →