なぜターゲットの要件が65,535を超えることができないJDKダイナミックプロキシクラスが実装におけるインターフェースの数であります

最初の明確ないくつかの概念:
クラス・ファイルが8の基本単位の集合では、バイナリストリームバイト
コンパクトクラスファイルの正確な順序で配置されている個々のデータ項目
のほぼ全てに格納されているクラスファイルの内容を作る中間分離せずに、プログラムが実行中
のJava仮想マシン仕様、Cのような構造データを格納するのクラス擬似ファイルフォーマット構造を、そのようなデータ構造は2種類のみである:符号なしのテーブルと
文字を占め、インターフェースインデックスカウンタ(interfaces_count)2祭り

最初の文参照:クラスファイルは8バイトベースのバイナリストリームの集合であり、interface_countは、2つのバイトを占有します。ことを証明するために、16.00000000,00000000そうである
から最大で2 ^ 16 = 65535最大電力のinterface_countの数
JVMレベルで決定されるが、それは数65535までであり
、また、Javaソース・コードに見ることができます

(var2.size()> 65535){場合
新しいIllegalArgumentExceptionをスローし( "インターフェイスの制限を超えて:" + var2.size());

従って、直接チェックサム長65535を行って、JDKダイナミックプロキシ要件、インターフェースの数は、目標クラス65535を超えないようにして実施しました

オリジナルリンク:https://blog.csdn.net/weixin_44402359/article/details/95447277
間違っているが、私にはコメントやささやきを喜ば場合は、技術的な問題を探求する歓迎

おすすめ

転載: www.cnblogs.com/sllbwcoding/p/12051302.html