1.ロードバランシングとリバースプロキシの役割は何ですか。
負荷分散とは、特定の戦略を使用して、同じアドレスへの複数の要求を指定されたサーバーに分散することです。リバースプロキシは、実際のアプリケーションサーバーに要求を転送できます。
2.キャッシュの使用時に問題が発生しましたか?この問題をどのように解決しましたか?
たとえば缓存穿透
、キャッシュペネトレーションは、データベースにキーの指定されたデータ行がなく、キーがキャッシュに存在しないため、リクエストがデータベースに直接アクセスするため、データベースに圧力がかかります。この問題を解決するには、指定した値へのクエリがない場合にのみデータベースにクエリを実行し、キャッシュにnull値を格納して、有効期限を設定します。
3. SpringMVCの実行フローは何ですか?
まず、リクエストはサーバーに到達し、DispatcherServletによってインターセプトされます。このとき、DispatcherServletはHandlerMappingを呼び出し、対応するリクエストプロセッサとリクエストインターセプターを作成し、DispatcherServletを返し、次にHandlerAdapter(プロセッサアダプター)を呼び出します。指定されたコントローラーが呼び出されます。コントローラーが処理された後、ModelAndViewオブジェクトに戻り、最初にHandlerAdapterに戻り、最後にDispatcherServletに戻り、DispatcherServletはModelAndViewをViewResolverに渡し、最後にビューオブジェクトViewを返し、最後にDispatcherServletがビューをレンダリングします。クライアントの要求に応答します。
4.リフレクションおよび動的エージェントの役割は何ですか?
リフレクションメカニズムとは、文字列パラメータを使用して指定されたオブジェクトを作成することです。リフレクションメカニズムを使用すると、クラスオブジェクトとそのプロパティおよびメソッドを知ることができます。動的プロキシは、元のコードを変更せずに新しい機能を実現できます。
5. Integer型とint型の違いは何ですか?
Javaには2つのタイプのデータがあります。1つはプリミティブデータタイプ、1つは参照タイプ、Integerはintパッケージクラス、そのデフォルト値はnull、intはプリミティブデータタイプ、およびそのデフォルト値は0です。