Я просматривал инструкции JVM bytecode и был удивлен, увидев, что все взаимодействия между классами (например, casting, new
и т.д.).) полагаются на постоянный поиск в пул для идентичности других классов.
Правильно ли вы заключаете, что это означает, что один класс не может знать о существовании более чем 64 тыс. других, поскольку их невозможно ссылаться? Если нужно было сослаться на это много, что нужно делать - делегировать работу нескольким классам, каждый из которых может иметь свои собственные < 64k взаимодействия?
(Причина, по которой это меня интересует, заключается в том, что у меня есть привычка писать генераторы кода, иногда производя тысячи различных классов, и что некоторые языки (например, Scala) создают классы в избытке. Поэтому кажется, что если true, будьте осторожны: если у меня есть сотни методов в классе, каждый из которых использует сотни (отдельных) классов, я мог бы превысить пространство с постоянным пулом.)