В книге для подготовки к Java OCP экзамену прочитал следующее
final classes encourage the inlining of methods. With inlining, a method body can be expanded as part of the calling code itself, thereby avoiding the overhead of making a function call. If the calls are to be resolved at runtime, they cannot be inlined.
Не понял, что конкретно имеется ввиду. Прочитал пару статей по этой теме - без толка.
Вопрос: Что есть инлайнинг методов? Мне надо понять суть.
Особенно непонятна вот данная цитата
a method body can be expanded as part of the calling code itself,
ВНИМАНИЕ! Если данный вопрос является дубликатом, пожалуйста, вместо негативных оценок, просто ниже в комментах оставьте ссылку на оригинал, которая с вашей точки зрения, полностью отвечает на поставленный вопрос, если содержание ссылки даст нужные мне ответы - то данный вопрос сразу удалю.
Инлайнинг - это вставка тела метода в место его вызова. Что позволяет существенно увеличить скорость выполнения кода в некоторых случаях. Например до инлайнинга:
class Example {
void someMethod(int i) {
int v = i * i;
System.out.println(i);
}
void anotherMethod() {
for (int i = 0; i < 42; i++) {
someMethod(i);
}
}
}
и после инлайнинга
class Example {
void anotherMethod() {
for (int i = 0; i < 42; i++) {
int v = i * i;
System.out.println(i);
}
}
}
Только делает это JIT-компилятор, который работает не с java-кодом, а с машинным.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Было задание построить график дат, но на графике появились прыжки большие, оказалось проблема в переходе между датами в новый годВ связи...
Пусть в таблице есть поле Age типа Int в некоторой таблице,которое может быть NULПусть есть уже полученный ResultSet rs