Как компилируется java
Компиляцией исходного кода программы в байт-код занимается компилятор javac
. Затем этот байт-код интерпретируется JVM
в машинный код. Такая последовательность действий позволяет выполнять байт-код на любой платформе. Также для ускорения работы приложений Java
используется JIT
компилятор, который компилирует байт-код, выполняющийся много раз, в машинный. При каждом вызове такого участка кода JVM
будет сразу вызывать скомпилированный машинный код, а не интерпретировать его каждый раз.
Напишем небольшую программу, которая будет заполнять массив из 10 элементов случайными числами, а затем считать количество четных и выводить это значение на экран.
import java.util.Arrays;
import java.util.Random;
public class Example {
public static void main(String[] args) {
int[] arr = createArrayWithRandomNumbers();
System.out.println(Arrays.toString(arr)); // => [57, 96, 22, 25, 24, 86, 30, 48, 23, 12]
System.out.println(countEvenNumbers(arr)); // => 7
}
// Метод проходит по массиву в цикле и считает
// количество четных чисел
private static int countEvenNumbers(int[] arr) {
int count = 0;
for (int elem: arr) {
if (elem % 2 == 0) {
count++;
}
}
return count;
}
// Метод создает массив из 10 элементов и заполняет
// его случайными значениями с верхней границей - 100,
// не включительно
private static int[] createArrayWithRandomNumbers() {
int size = 10;
int upperBound = 100;
int[] arr = new int[size];
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = random.nextInt(upperBound);
}
return arr;
}
}
Чтобы скомпилировать эту программу в байт-код, воспользуемся компилятором javac
в командной строке:
javac Example.java
После компиляции получаем файл с байт-кодом Example.class
, который можно запустить при помощи команды java
в терминале:
java Example
Будет выведено содержимое массива и количество четных чисел.