Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.

Байт-код Java

Данный курс для тех, кто уже знает синтаксис языка, но хотел бы разобраться в том, что из себя представляет чёрный ящик в виде JVM с её ByteCode, «руками потрогать» то, во что превращается ваш код после компиляции, научиться читать ByteCode и как следствие научиться анализировать программы даже без исходных кодов! Все это и многое другое в нашем новом курсе, который может быть востребованный даже среди ведущих разработчиков.

Уже с первых уроков вы узнаете, что такое Java Bytecode и как его понимать, а к концу сможете делать много самостоятельных операций. Прохождение курса позволит вам лучше узнать платформу, с которой вы работаете, или же создать собственный язык программирования, легче проводить отладку и даже заняться низкоуровневой оптимизацией.

Следующий рекомендованный курс: "Java: Структуры данных" (https://ru.hexlet.io/courses/collections)

Сначала рекомендуем пройти курс: Java Generics

Содержание курса

  • 1

    Модуль 0. Урок 0. Введение.

    Цель: Вводный урок в котором мы рассказываем о том: что это за курс и для кого, что необходимо знать перед прохождением курса, какова структура курса (количество модулей и уроков), кто мы такие и почему делаем этот курс, место данного курса среди других.

    теория (08:42)  
  • 2

    Модуль 0. Урок 1. Что такое байт-код.

    Цель: Узнать о том, что такое байт-код.

    теория (04:51)  
  • 3

    Модуль 0. Урок 2. Используемое ПО.

    Цель: Узнать, какое программное обеспечение будет использоваться.

    теория (05:11)  
  • 4

    Модуль 1. Урок 0. Общий для класса байткод.

    Цель: Узнать об общей для всего класса части байткода.

    теория (18:30)   тесты  
  • 5

    Модуль 1. Урок 1. Пул констант.

    Цель: Узнать о пуле констант в Java.

    теория (15:25)   тесты  
  • 6

    Модуль 2. Урок 0. Методы. Часть 1.

    Цель: Разобрать базовые методы байткода.

    теория (14:59)   тесты  
  • 7

    Модуль 2. Урок 1. Методы. Часть 2.

    Цель: Разобрать базовые методы байткода.

    теория (23:18)   тесты   практика  
  • 8

    Модуль 3. Урок 0. Условный оператор IF (INT).

    Цель: Знакомство с бранчеванием и условным оператором IF для типа int.

    теория (17:34)   тесты   практика  
  • 9

    Модуль 3. Урок 1. Условный оператор IF (DOUBLE/FLOAT).

    Цель: Знакомство с бранчеванием и условным оператором IF для типа double/float.

    теория (16:12)   тесты   практика  
  • 10

    Модуль 3. Урок 2. Цикл FOR.

    Цель: Знакомство с оператором цикла FOR

    теория (25:51)   практика  
  • 11

    Модуль 3. Урок 3. Оператор SWITCH.

    Цель: Знакомство с оператором SWITCH.

    теория (21:31)   тесты  
  • 12

    Модуль 4. Урок 0. Вызов методов.

    Цель: Знакомство с вызовом методов.

    теория (15:46)   тесты  
  • 13

    Модуль 4. Урок 1. Инструкция INVOKESTATIC.

    Цель: Знакомство с инструкцией INVOKESTATIC.

    теория (10:32)   тесты  
  • 14

    Модуль 4. Урок 2. Инструкции INVOKESPECIAL и INVOKEVIRTUAL.

    Цель: Знакомство с инструкциями INVOKESPECIAL и INVOKEVIRTUAL.

    теория (18:48)   тесты  
  • 15

    Модуль 4. Урок 3. Инструкция INVOKEINTERFACE.

    Цель: Знакомство с инструкцией INVOKEINTERFACE.

    теория (07:21)  
  • Course completed

  • Практика после курса

    В некоторых курсах есть практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. В этом курсе таких заданий нет, но вы можете посмотреть задания из других курсов.

Подробнее о курсе

Учащихся
1277
Сообщений
159
Упражнений
4
Часов
7

Практика после курса

В некоторых курсах есть практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. В этом курсе таких заданий нет, но вы можете посмотреть задания из других курсов.