Javaの一般的な面接の質問の概要

原理点はArrayListの要約ArrayListのリストは、配列変数非同期インターフェイスを含むヌル可能全ての要素を含む、実現される
基礎となる配列を使用して実装
可変長配列、配列拡張のセットを、アレイ内の古い要素がバックにコピーされます新しいアレイは、各アレイの容量は、その容量が1.5倍程度で増加
前方に移動するには、Removeメソッドは、配列要素の端部に添字う

要約LinkedListの原則ポイントを実装
LinkedListのは、二重リンクリストの非同期実装であり、ヌルなどを可能にします要素が使用される
二重連結リストの下にある使用
前、次の項目がノード、次のノード、およびノードの値を表し
、高速挿入及び欠失を

原理点は一般達成ハッシュマップ
ヌル値に基づいて、地図のインターフェイスが許可された非同期実装さHsdhMap、およびヌル結合は、しかしの順序を保証しない
根本的な配列を使用して実装、ノードのアレイに下方リスト構造を生成する際に生じるハッシュ衝突、赤と黒の木構造データを格納したときにリスト構造> 8。
基礎となるハッシュマップのキー値は、全体として、これは全体のノードオブジェクトである場合、下にあるノード[]保持キーと値のオブジェクトを使用。
配列内のキーの位置を決定するために、ハッシュアルゴリズムに従って。データがノードにハッシュアルゴリズム鍵に基づいて、配列内の保存された位置を取得することが判明し、リストから削除されるときに、この位置は、記載の方法に等しく
膨張HashMapの後、アレイ内の各要素の位置を再計算する

ハッシュテーブル要約原則ポイント
のHashtableをベースとMapインタフェースのハッシュテーブルの実装がnull値とnullのキーを許可しない同期化されます
アレイを用いて底部が、各アレイは、一本鎖、すなわちアレイと組み合わせ鎖である
下地としてキー値にハッシュテーブル全体のプロセス。
ハッシュテーブルは全体のために同期される、すなわち、テーブル全体排他ロックするために、各スレッド

に概説点はConcurrentHashMapの実装原理
キーロック同時に複数の変更を可能にConcurrentHashMapのは、使用される分離技術である
制御にロックを複数使用します変更するための異なるセグメントハッシュテーブル
の各セグメントは、実際に小さなハッシュテーブルである長い異なるセグメントにおける同時発生として、それらは同時にすることができるように、彼らは、自分のロックを持って
も、複数のサブハッシュテーブルを使用して、ハッシュマップ、ConcurrentHashMapの異なりますセグメント(セグメント)である
ConcurrentHashMapののは完全に同時に複数の読み出し動作を可能にする、読み出し動作がロックを必要としません。そのようなHashMapの実装のような従来の技術を使用している場合、ハッシュチェーンの途中に要素を追加または削除することが許可されている場合、読み出し動作は、得られた矛盾データをロックしません。ConcurrentHashMapの実装技術はHashEntryはほとんど不変を確実にするためです。

なぜプロキシモードを使うのか?
A:このオブジェクトへのアクセスを制御する他のオブジェクトのプロキシを提供するために、プロキシモードでは、プロキシオブジェクトは、クライアントとターゲットオーディエンスの間の仲介役を演じることができます。
例えば、私が販売する家を持っているが、私は家を見るためにゲストをリードする分野での任意の時点で、私は仲介をする必要がありますすることはできません、仲介プロキシオブジェクトに相当し、
彼は強化しつつ、私が彼に与えた力を持っていますフィルタリングなど、その機能は、買い手のかなりの数ではありません。最後に、結果は私だけで罰金を与えました。
デリゲートへのメッセージを転送、フィルタメッセージ、デリゲートメッセージの前処理のための主要な責任を代行、


利点とそのボトルネック静的プロキシモードの話?
静的プロキシクラス:それらをコンパイルした後、特定のツールによって、プログラマまたは自動生成されたソースコードによって作成されます。いいえ、スケーラビリティ、プロキシクラスを指定しない
利点を:ビジネスクラスは、ビジネスクラスの再利用を確保するために、ビジネスロジックそのものに焦点を当てる必要があります。


Javaは代理店モデルの原理の理解を達成するためのインタフェース?
プロキシモードは、一般的に静的および動的プロキシエージェント、分割され
たプロキシオブジェクトはプロキシクラスとターゲット・オブジェクトを指定した後にのみ、ビジネスクラスの重要性ということを保証するために、ビジネスロジックそのものに焦点を当てる必要が静的プロキシ
、しかしダイナミックプロキシは、プロキシクラスはJavaコードで定義されていませんしかし、実行時に動的に生成されたJavaコードで私たちの「命令」に基づきます。静的プロキシに比べ、 
動的プロキシの利点は、各エージェントクラス方法変更することなく、それがプロキシクラス統一プロセスに容易に機能することができるということである
動的プロキシを

公開された157元の記事 ウォン称賛43 ビュー90000 +

おすすめ

転載: blog.csdn.net/qq_39581763/article/details/104298138