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