Как JVM обрабатывает интерфейсы маркеров внутри?
Может ли кто-нибудь объяснить мне, как JVM внутренне обрабатывает интерфейсы маркеров, такие как:
Serializable
2 ответа
Как и любой другой интерфейс... Маркерный интерфейс - это не языковая конструкция, это просто термин, используемый для описания интерфейса без каких-либо методов.
Смотрите: http://en.wikipedia.org/wiki/Marker_interface_pattern
Ответ прост: он ничем не отличается от любого другого интерфейса. Нет абсолютно никакой разницы между интерфейсом маркера и другим интерфейсом.
Вы можете проверить интерфейс Marker в Java: что, почему, использует и т. Д.
На примечании стороны:-
Если мы возьмем java.io.Serializable
интерфейс маркера. Теперь это не имеет каких-либо членов, определенных в нем. Поэтому, когда должен быть сериализован Java-класс, JVM должен быть каким-то образом запуган, чтобы, если мы хотим, мы могли сериализовать этот Java-класс. Так что в этом случае используются маркерные интерфейсы. Таким образом, Java-класс, который может быть сериализован, должен реализовать java.io.Serializable
интерфейс маркера. Следовательно, теперь мы можем инициировать JVM.