500社の部門ビデオ要約質問に直面しています

1.springboot構成ファイルのロード順の
ソリューション:まず、YML、その後、プロパティファイルをロードします。


2.理解ゲートウェイ
溶液:ゲートウェイ(ゲートウェイ)は、また、ゲートウェイ、プロトコルコンバータとして知られています。ネットワーク層インターネットワーキング上記ゲートウェイに実装、インターネットワーキングデバイスの最も複雑な、ネットワーク相互接続のための2つだけ異なる高レベルのプロトコルです。ゲートウェイは、WAN相互接続の両方に使用することができ、それはまた、LANの相互接続のために使用することができます。ゲートウェイは、コンピュータシステムやとして作用するタスクを変換するための装置です。異なる通信プロトコル、データフォーマット、または言語、あるいは完全に異なるアーキテクチャーシステムを使用して、ゲートウェイトランスレータ。そしてブリッジは単に異なる情報を伝える、情報へのゲートウェイは、宛先システムのニーズを満たすように再パッケージました。同じ層-アプリケーション層。

 

3.javaコレクション型?マップのスレッドセーフフォーム?
ソリューション:でJavaを設定されたマップ、リストのセットがあります。マップハッシュテーブル、SynchronizedMapとのConcurrentHashMapのスレッドセーフな形式があります。jdk8方法は16バレル、それぞれの時間は一バレルロックに分かれてロックされたセグメントを使用することです前のConcurrentHashMapは、だけでなく、最も複雑な方法のセットを達成するために推奨、実装の各バージョンは、同じではありません、 jdk8彼はCASと赤黒ツリーアルゴリズムに参加しました。


4.springmvcプロセス
ソリューション:最初のステップ:コントローラはフロントエンドに要求を開始(のDispatcherServlet)

ステップ2:フロントコントローラのルックアップ要求HandlerMappingハンドラ(コメントを見つけるために、XMLに応じて構成することができます)

第三段階:プロセッサマッパーHandlerMappingハンドラは、要求がHandlerExecutionChain HandlerMappingオブジェクト(プロセッサを含むハンドラ(ページコントローラ)オブジェクト、インターセプタのHandlerInterceptorの複数のオブジェクト)、このポリシーモデルにマッピングされ、先端部にコントローラを返します新しいマッピング戦略を追加するのは簡単です

ステップ4:フロントコントローラは、ハンドラを実行するアダプタ・プロセッサを呼び出し

ステップ5:HandlerAdapterプロセッサアダプタハンドラの結果に応じて実行するようにフィットします

ステップ6:ハンドラの実行は、アダプタのModelAndViewに復帰完了しています

第7工程:プロセッサ・アダプタは、遠位のModelAndViewに制御を返す(のModelAndView springmvc基礎となるオブジェクトはフレームであり、モデル・ビューを含みます)

第8工程:パーサに制御要求の正面端面図は、(実際のビュー(JSP)に分割し、論理ビュー名に従って)ビューを解析し、この戦略は簡単にのみビューリゾルバを変更するために、他の技術ビューに置き換えることができます

ステップ9:ビュービューリゾルバは、遠位端に制御を返します

ステップ10:フロントエンドビューレンダリングコントローラ(モデルビューは、データをレンダリング(のModelAndViewオブジェクト)要求フィールド内に充填されました)

第10工程:ユーザフロントエンドコントローラに応答結果


5.final、最終的及び確定
ソリューション:ときに、最終的な修飾クラス、クラスは他のクラスによって継承されないことを示します。最後の2つのメソッドを使用する主な理由:

(1)の方法は、それを変更する派生クラスを防止するためにロック。

(2)効率は、初期のJavaバージョンでは、最終的なメソッド呼び出しに組み込まれます。方法が大きすぎる場合は、パフォーマンスが大幅に増加がない可能性があります。そのため、最近のバージョンでは、何も最終的にはこれらのメソッドを最適化していません。最後のメンバ変数は、割り当て後、一度割り当てることができ、定数を表し、その値は変更されません。
  最後に、例外処理の一環として、それが唯一のtry / catchステートメントにすることができ、およびステートメントのブロックが付属して、ステートメントは、それが(または例外をスローせずに)実行されます最終的に表しています。各オブジェクトは、メソッドファイナライズを有することを意味する()java.lang.Objectの年に定義されています。彼らが呼ばれたときに、このメソッドのGCの開始は、オブジェクトが回収されます。実際には、オブジェクトのほとんどは、(GCが得ることができるすべての新しいオブジェクトの外に、我々は使用しません、一般的に新しいオブジェクトを作成する以外の意味)のGCを再利用することができますので、一般的に、あなたが達成するために、プログラマを確定する必要はありません。

 

6.スレッドプールカテゴリー
newCachedThreadPool:必要に応じて新しいスレッドを作成するスレッドプールを作成しますが、以前のスレッドが利用可能に構築されたときに、それらを再利用します。短期プログラムの多くは、非同期タスクを実行するためには、これらのプールは、典型的には、プログラムのパフォーマンスが向上します。(スレッドが利用可能な場合)以前に構築スレッドを再利用します実行するために呼び出します。既存のスレッドが使用できない場合は、新しいスレッドが作成され、プールに追加されます。キャッシュから60秒間使用されていないこれらのスレッドを終了し、削除します。そのため、長い間アイドル状態のスレッドプールはすべてのリソースを使用していないまま。
newFixedThreadPool:スレッドプールねじ山労働者の指定した数を作成します。スレッドプールのスレッド労働者の数は、最初のタスクの最大数はキューにプールに提出される予定に達した場合はいつでも、ワーカースレッドを作成するためのタスクを提出します。
newScheduledThreadPoolは:指定された遅延時間後に実行する、または定期的に実行するためにスケジュールすることができますスレッドプールを作成します。
newSingleThreadExecutor:このスレッドを実行するために、アンバウンド形式のキューに、単一のワーカースレッドを使用するExecutorのを作成します。(障害があるため、この単一スレッドの閉鎖および終了前に実行中に発生した場合、必要に応じて、後続のタスクを実行する新しいスレッドでそれを置き換えることに注意してください)。あなたは順番に各タスクの実施を確保することができ、かつ任意の時点に1つのスレッドがアクティブであるよりも、これ以上はありません。他の同等newFixedThreadPool(1)とは異なり、あなたは他のスレッドに、このメソッドが返すプログラムの実行を再構成することなく確保することができます。

おすすめ

転載: www.cnblogs.com/DreamFather/p/11327905.html