知識毎日要約レコード53

継承(継承)、合わせた(組成物)

継承(継承)リンクのクラスとクラスの階層モデル。これは、(サブクラス、サブインタフェースと呼ばれる)クラスを参照(親、親インタフェースと呼ばれる)別のクラスの機能を継承し、独自の新機能の容量を増やすことができ、継承はインターフェイスを持つクラスまたはインタフェースを持つクラスです間の最も一般的な関係。
継承はある関係です。なリンゴなどの果物、犬は動物、ハスキー犬です。

コンビネーション(組成)は、全体の部分の関係を反映しています。
組み合わせはあり-の関係です。このような車のエンジンとして、その上の学校の先生とがあります。

継承された違いが従事し
、クラス、継承と組成との間の関係を決定する時点からまず、異なります。

継承、コンパイル時に関係を決定して、特定の名前のクラスを継承するコードを書きます。そして、基本クラスから継承するため、アプリケーションの柔軟性を減らし、実行時に動的に変更することはできません。

プログラミング・インターフェースのためのコードを書く組み合わせが、使用されてもよいです。したがって、リレーションシップクラスの組み合わせは、一般的に、実行時に決定します。

また、特定の違いがあります符号多重方式です。

継承構造は、サブクラスの親クラスの内部詳細が表示されています。だから我々は、一般的に、コードの再利用を通じて継承と言うことができ、白カセットコードの再利用です。

基底クラスが変更された場合は、派生クラスの実装も変更されます。これは、サブクラスの予期しない動作につながります。

新しい組み合わせは、既存のオブジェクトのより複雑な機能アセンブリ(組成)を行うことによって、生成されます。オブジェクト間で、その内部の詳細が表示されていないので、私たちは、このようにコードはブラックカートリッジの再利用コードの再利用であると言うことができます。

ポートフォリオは、一般的にタイプを定義されているので、クラスが呼び出されます達成の具体的な方法をコンパイル時に、それほどわかりません。

最後に、Javaは多重継承をサポートしていない、との組み合わせは限定されるものではありません。人のように一つだけの父を持つことができますが、彼は車の多くを持つことができます。

比較欠点は
関係相続・グループの関与
の利点を:お互いの欠点は比較的独立し、クラス全体とローカルクラス間の疎結合をパッケージを破壊しない:破壊されたパッケージ間の密結合を、子と親クラス、サブクラスは親クラスの実装に依存し、サブクラスは、独立の欠ける
展開をサポートしていますが、システム構成は、コストの複雑増加する傾向がある:スケーラビリティの欠点を:利点
の利点を:動的な組み合わせをサポートしています。実行時には、オブジェクト全体は、部分的なオブジェクトの欠点の種類を選択することができます:動的な継承をサポートしていません。実行時には、サブクラスは異なる親を選択することができない
利点を:クラス全体では地元の包装、梱包ローカルクラスインターフェイス、新しいインターフェイスの不利益になりますサブクラスは親クラスのインタフェースに変更することはできません
欠点を:全クラスが自動的にできませんそしてローカルクラスと同じインターフェイス上の利点:サブクラスは、自動的にインタフェース親クラスを継承することができます
欠点を:あなたはクラス全体としてのオブジェクトを作成するとき、あなたはすべてのローカルクラスのオブジェクトの利点を作成する必要があります:あなたは、オブジェクトのサブクラスを作成するときに、親クラスのオブジェクトを作成することなく
、なぜ組み合わせ継承よりも良いが
、私は多くの人が「多目的組み合わせ、少ない相続」「継承の組み合わせよりも優れています。」またはオブジェクト指向の多くの重要な原則があることを知っていると信じています。前の説明から、長所と短所の比較を見ることができる持っている、組み合わせは確かに継承よりも柔軟ですが、また、コードの保守により助長。

したがって、代わりに優先度継承の組み合わせを使用しての、同じ可能で推奨されています。組み合わせは、単純に、より安全に、より柔軟かつ効率的であるため。

改善されたHTTP / 1.1に対するHTTP / 2

バイナリフレーミング

HTTP / 2において、アプリケーション層(HTTP2.0)およびトランスポート層(TCPまたはUDP)との間に層が追加されました:バイナリフレーミング層。これは、HTTP2で最大の変化です。HTTP2パフォーマンスはHTTP1.1よりもそんなに高くあり理由は、それがこの層の導入によるところが大きいです。
バイナリフレーミング層において、情報HTTP / 2は、すべての小さなメッセージ及びフレーム(フレーム)に送信し、バイナリ形式を使用して符号化されるであろう。

サーバーの圧力を低下させる、複数のリソースを接続するには、この一つの方法は、そのためには、高いスループットに接続され、より少ないメモリを占有します。ネットワークの輻輳を向上させることができるようにスロースタートの時間を削減しながらも、より速く、輻輳やパケット損失回復をTCP接続の数を減らします。

マルチプレクサ

応答メッセージ-同時に接続されたマルチプレクサは、単一のHTTP / 2.0を介して複数の要求を開始します。
HTTP1.1の合意では、同時にブラウザクライアントは、この要求はブロックされます超え、同じドメイン名の下で要求の数について一定の制限があります。単一HTTP2.0でのメッセージ-と同時に接続を開始する多重化は、複数の「レスポンスRequest」を可能にします。

ヘッダ圧縮

1.1ヘッダ情報の多くのHTTP /、繰り返し毎に送信されます。ヘッダ圧縮アルゴリズムHPACKヘッダ圧縮を使用して、コストのこの部分を低減するためにHTTP / 2。

サーバープッシュ

簡単に言えば、それは、接続が確立され、ブラウザとサーバーの後に、ユーザの、サーバーは、ブラウザのキャッシュとアップ機構にいくつかのリソースをプッシュするためのイニシアチブを取るとき、あります。キャッシュを使用すると、キャッシュされたリソースにアクセスしたいブラウザがキャッシュから直接読み取ることができます。

Thread.join(ソース

previousThread.join();
現在のスレッドの意味thread.join previousThreadのスレッドが終了した後thread.joinから戻る前に待機します。単純に、それはスレッドの実行前に終了していない、それが結合方法でブロックされていたであろう。

実際には、底部が待機/のnotifyAll通信スレッドは、スレッドに到達することによって達成される遮断目的れ、第ネイティブスレッドオブジェクトを設定することであるスレッドの実行の終わりには、二つのことをトリガーする場合、第二のためのnotifyAll方法を介して行われ、ヌルであります目覚めするオブジェクトロックのpreviousThread方法を待って待って。

おすすめ

転載: www.cnblogs.com/cuiyf/p/11607619.html