English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по основам Java

Java Управление потоком

Java Массивы

Java Ориентированное на объекты (I)

Java Ориентированное на объекты (II)

Java Ориентированное на объекты (III)

Обработка исключений в Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java-программа для вычисления времени выполнения метода

Java полные примеры

В этом примере мы изучим вычисление времени выполнения обычных и рекурсивных методов в Java.

Чтобы понять этот пример, вам следует знать следующееJava-программированиеТема:

Пример 1: Java-программа для вычисления времени выполнения метода

class Main {
  //Создание метода
  public void display() {
    System.out.println("Вычисление времени выполнения метода:");
  }
  //Метод main
  public static void main(String[] args) {
    //Создать объект класса Main
    Main obj = new Main();
    //Получить время начала
    long start = System.nanoTime();
    //Вызов метода
    obj.display();
    //Получить время завершения
    long end = System.nanoTime();
    //Время выполнения
    long execution = end - start;
    System.out.println("Время выполнения: " + execution + " нанoseconds");
  }
}

Результат вывода

Вычисление времени выполнения метода:
Время выполнения: 656100 нанoseconds

В предыдущем примере мы создали метод display(). Этот метод выводит строку на указанную консоль. Программа вычисляет время выполнения метода display().

Здесь мы используем метод nanoTime() класса System. Метод nanoTime() возвращает текущее значение JVM в наносекундах.

Пример 2: Вычисление времени выполнения рекурсивного метода

class Main {
  //创建一个递归方法
  public int factorial(int n) {
    if (n != 0) //终止条件
        return n * factorial(n - 1); //递归调用
    else
        return 1;
}
  //Метод main
  public static void main(String[] args) {
    //Создать объект класса Main
    Main obj = new Main();
    //Получить время начала
    long start = System.nanoTime();
    //Звонок метода
    obj.factorial(128);
    //Получить время завершения
    long end = System.nanoTime();
    //Время выполнения (секунды)
    long execution = (end - start);
    System.out.println("Время выполнения рекурсивного метода");
    System.out.println(execution + " наносекунд");
  }
}

Результат вывода

Время выполнения рекурсивного метода
18600 наносекунд

В上面的 примере, мы считаем время выполнения рекурсивного метода с именем factorial().

Java полные примеры