私はJVM バイトコード命令を調べていて、クラス間のすべての相互作用 (キャストnew
など) が、他のクラスの ID に対する定数プール ルックアップに依存していることに驚きました。
これは、1 つのクラスが 64,000 を超える他のクラスの存在を知ることができないことを意味すると推測するのは正しいですか?それらを参照することは不可能なので? その多くを参照する必要がある場合、どうすればよいでしょうか?それぞれが <64k 相互作用を持つ可能性のある複数のクラスに作業を委譲しますか?
(私がこれに興味を持った理由は、コード ジェネレーターを書く習慣があり、時には何千もの異なるクラスを生成することと、一部の言語 (Scala など) が大量にクラスを作成することです。 1 つのクラスに数百のメソッドがあり、それぞれが数百の (異なる) クラスを使用している場合、一定のプール スペースを超える可能性があります)。