ホームページ  >  記事  >  Java  >  JDKダイナミックプロキシとCGLIBの違い

JDKダイナミックプロキシとCGLIBの違い

angryTom
angryTomオリジナル
2020-02-17 16:34:344244ブラウズ

JDKダイナミックプロキシとCGLIBの違い

JDK 動的プロキシと CGLIB の違い

1. JDK 動的プロキシ:

インターセプトの使用 インターセプター (インターセプターは InvocationHanlder を実装する必要があります) とリフレクション メカニズムにより、プロキシ インターフェイスを実装する匿名クラスが生成されます。

特定のメソッドを呼び出す前に InvokeHandler を呼び出します。

(関連ビデオ チュートリアルの共有: java ビデオ チュートリアル)

2. CGLiB 動的プロキシ:

ASM オープン ソースを使用するpackage を作成し、プロキシ オブジェクト クラスのクラス ファイルをロードし、そのバイトコードを変更して処理してサブクラスを生成します。

3. JDK 動的プロキシと CGLIB バイトコード生成の違いは何ですか?

1. JDK 動的プロキシは、インターフェイスを実装するクラスのプロキシのみを生成できますが、クラスのプロキシは生成できません。

2. CGLIB はクラスのプロキシを実装します。主に、指定されたクラスのサブクラスを生成し、その中のメソッドをオーバーライドし、メソッドをオーバーライドして拡張を実現します。ただし、継承が使用されるため、クラスまたはメソッドがFinal クラスやメソッドは継承できません。

Java 関連のチュートリアルの詳細については、PHP 中国語 Web サイトの java チュートリアル 列を参照してください。

以上がJDKダイナミックプロキシとCGLIBの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。