Java: Как JVM оптимизирует вызов пустой и пустой функции?

Позволять'Представьте, что у нас есть следующие классы:

public class Message extends Object {}

public class Logger implements ILogger {
 public void log(Message m) {/*empty*/}
}

и следующая программа:

public static void main(String args[]) {
  ILogger l = new Logger();
  l.log((Message)null); // a)
  l.log(new Message()); // b)
}

Будет ли компилятор Java удалять операторы и б ? В обоих случаях (удаление или удаление), что является обоснованием для компилятора Java?решение?

Ответы на вопрос(6)

Ваш ответ на вопрос