2020 Javaの一般的なインタビューの質問(1)

注:資料はインターネットから収集され、侵入され、削除されます

1.JDKの一般的に使用されるパッケージ

  • java.lang:これは、String、Math、Integer、System、Threadなどのシステムの基本クラスであり、共通の関数を提供します。java.langパッケージにはサブパッケージもあります。java.lang.reflectはjavaクラスを実装するために使用されます。
  • java.io:ファイル操作など、すべての入力および出力関連のクラスがあります。
  • java.net:URL、URLConnectionなど、ネットワークに関連するクラスがあります。
  • java.util:これはシステム補助クラス、特にコレクションクラスCollection、List、Mapなどです。
  • java.sql:これは、データベース操作、Connection、Statememt、ResultSetなどのクラスです。

2.GetとPostの違い

  • 1. getはサーバーからデータを取得することであり、postはサーバーにデータを送信することです。
  • 2. getによって送信されるデータの量は少なく、2KBを超えることはできません。郵便で送信されるデータの量は比較的多く、通常、デフォルトでは制限されていません。
  • 3. Getセキュリティは非常に低く、postセキュリティは高いです。ただし、実行効率はPostメソッドよりも優れています。
  • 4.ファイルをアップロードするときにgetの代わりにpostのみを使用できます

3つ目は、Javaポリモーフィズムの具体的な表現です。

オブジェクト指向プログラミングには、抽象化、カプセル化、継承、およびポリモーフィズムの4つの特性があります。多型には4つの症状があります。

  • 1.インターフェースとインターフェースの継承。
  • 2.クラスとクラスの継承。
  • 3.過負荷。
  • 4.書き直し

コアはオーバーロードと書き換えです。オーバーロード:オーバーロードは同じクラスで発生します。このクラスに同じ名前のメソッドが複数あるが、パラメーターのタイプとメソッドの数が異なる場合、メソッドは
オーバーロードされます。書き換え:サブクラスが親クラスを継承すると書き換えが発生します。親クラスのメソッドはサブクラスに継承されます。メソッド名、戻り値の型、パラメータはまったく同じですが、メソッド本体が
異なります。サブクラスによって上書きされます。

4、StringBufferStringBuilder文字列の違い

ストリング 文字列定数 不変 文字列スプライシングを使用する場合の2つの異なるスペース
StringBuffer 文字列定数 変数 文字列のスプライシングは、文字列の直後に追加されます スレッドセーフ
StringBuilder 文字列定数 変数 文字列のスプライシングは、文字列の直後に追加されます スレッドセーフではありません
  • 1. StringBuilderの実行効率は、StringBufferやStringよりも高くなっています。
  • 2.文字列は定数で不変であるため、+ =の割り当てごとに、新しいオブジェクトが作成されます。StringBufferとStringBuilderはどちらも変更可能です。文字列のスプライシングが実行されると、元のメソッドに基づいて追加メソッドが使用されます。パフォーマンスはStringよりも高く、StringBufferはスレッドセーフであり、StringBuilderはスレッドセーフではないため、StringBuilderはStringBufferよりも効率的です。
  • 3.大きなデータ文字列のスプライシングには、StringBuffer、StringBuilderが使用されます。

5、HashtableとHashMapの違い

HashMapはスレッドセーフではなく、HashTableはスレッドセーフです。HashMapはnull(null)キーと値(key)を許可しますが、HashTableは許可しません。HashMapのパフォーマンスはHashtableよりも優れています。

地図

  • 1.マップは、キーと値のペアで格納されるインターフェイスです。Mapには、HashMapとHashTableという2つの特定の実装があります。
  • 2. HashMapはスレッドセーフではなく、HashTableはスレッドセーフであるため、HashMapの効率はHashTableよりも高くなります。
  • 3. HashMapではキーまたは値を空にすることができますが、HashTableではキーまたは値を空にすることはできません。

6、9つの暗黙のオブジェクト

入出力オブジェクト:要求応答出力

スコープ通信オブジェクト:セッションアプリケーションpageContext

サーブレットオブジェクト:ページ設定

エラーオブジェクト:例外

セブン、フォーワード(リクエスト転送)とリダイレクト(リダイレクト)

  • 1. Forwordは、データ共有からのリクエストの続きであり、リクエストのデータを共有することができます。リダイレクトは新しいリクエストを開き、リクエストデータを共有できません
  • 2.アドレスバーからForword転送アドレスバーは変更されません。リダイレクト転送アドレスバーは変更されます。

8、JQureyの概要

jqueryは、クロスブラウザー機能と優れた互換性を備えた軽量のjsフレームワークであり、簡単に使用できるように多くのツールをカプセル化しています。一般的に使用されるのは、セレクター、dom操作、ajax(ajaxはドメインを越えられない)、特殊効果、ツールです。

ナイン、XMLとJsonの特徴

Xmlの機能:

  1. ルートノードは1つだけです。
  2. データ伝送キャリア
  3. すべてのラベルをカスタマイズする必要があります
  4. プレーンテキストファイルです

Json(JavaScript Object Notation)の機能:jsonは2つの形式に分けられます:jsonオブジェクト(つまり、キーと値のペアを{}に格納し、キーと値の間にコロンで区切り、キーと値のペアの間にコンマで区切ります); json配列(複数のjsonオブジェクトを[]にコンマで区切って格納することです)(2つは互いにネストできます)データ送信キャリア

違い:同じ形式でデータを送信するには、xmlは説明にさらに多くの文字を使用する必要があり、jsonベースのデータ送信が一般的です。xmlの階層はjsonの階層
より明確です共通点:xmlとjsonはどちらもデータ転送のキャリアであり、クロスプラットフォームとクロス言語の機能を備えています。

十、request.getSession()、reqeust.getSession(false)和

request.getSession(true)getSession()/ getSession(true):セッションが存在する場合はセッションを返します。それ以外の場合は、新しいセッションを作成してオブジェクトを返します。getSession(false):セッションが存在する場合はセッションを返します。それ以外の場合は、nullを返します。

11.PageとPageContextの違い

ページはサーブレットオブジェクトです。このキーワードを使用すると、そのスコープは同じページにあります。PageContextはスコープ付き通信オブジェクトです。通常、setAttribute()およびgetAttribute()は、格納されたオブジェクトの値を設定および取得するために使用されます。

12.Ajaxの概要

AJAXのフルネーム:非同期JavaScriptおよびXML(非同期JavaScriptおよびXML)Ajaxのコアは、JavaScriptオブジェクトXmlHttpRequest(XHR)です。Ajaxの利点:

  • ユーザーエクスペリエンスの向上(UE)
  • 部分的な更新のためにアプリケーションのパフォーマンスを向上させる
  1. AJAXは新しいプログラミング言語ではありませんが、より優れた、より高速で、よりインタラクティブなWebアプリケーションを作成するためのテクノロジーです。
  2. JavaScriptは、AJAXを介して、JavaScriptのXMLHttpRequestオブジェクトを使用してサーバーと直接通信できます。このオブジェクトを介して、JavaScriptはページをリロードせずにWebサーバーとデータを交換し、ローカルで更新することができます。
  3. AJAXはブラウザとWebサーバー間で非同期データ転送(HTTP要求)を使用するため、Webページはページ全体ではなくサーバーに少量の情報を要求できるため、サーバーの負担が軽減され、サーバーのパフォーマンスが向上します。地点。AJAXは、インターネットアプリケーションをより小さく、より速く、よりユーザーフレンドリーにし、より優れたユーザーエクスペリエンス(UE)を実現します。
  4. Ajaxは、標準化され広くサポートされているテクノロジーに基づいており、プラグインやダウンロードアプレットを必要としません。

13.JSP9ビッグ隠しビジョンオブジェクトの4つのスコープのサイズとスコープ

大から小までの4つのスコープ:アプリケーション>セッション>リクエスト>ページ

アプリケーション:グローバルスコープ、アプリケーション全体で共有ライフサイクル:アプリケーションの開始と停止。

セッション:セッションスコープ。ユーザーが初めてアクセスすると、新しいセッションが生成され、サーバーは将来のセッション状態を記憶できます。

request:リクエストスコープはクライアントからのリクエストです。

ページ:JSPページ。上記のアクションの範囲はますます小さくなり、リクエストとページのライフサイクルは短くなっています。

それらの違いは次のとおりです。リクエストには複数のページを含めることができます

14.リスト、セット、コレクション、コレクション

  • ListとSetはどちらもインターフェースであり、どちらもインターフェースCollectionから継承し、Listは順序付けられた繰り返し可能なコレクションであり、Setは順序付けられていない繰り返し不可能なコレクションです。コレクションは、コレクションの最上位インターフェイスです。コレクションは、コレクション操作の多くの静的メソッドをカプセル化するツールクラスです。コンストラクターはプライベートであるため、インスタンス化できません。
  • 2. Listインターフェースの実装クラスには、ArrayList、LinkedList、Vectorが含まれます。ArrayListとVectorは配列に基づいて実装されているため、クエリの速度は速くなりますが、追加と削除の速度は遅くなります。LinkedListはチェーンストレージ構造に基づいているため、追加と削除の速度が速いとクエリは遅くなります。また、VectorはArrayListと比較してスレッドセーフであるため、クエリの効率は低くなります。

15.Javaの基本的なデータ型

  • データ型のサイズ
  • バイト(バイト)1(8ビット)
  • 短(短整数)2(16ビット)
  • int(整数)4(32ビット)
  • long(長整数)8(32ビット)
  • float(浮動小数点)4(32ビット)
  • double(倍精度)8(64ビット)
  • char(文字タイプ)2(16ビット)
  • ブール(ブール)1ビット

おすすめ

転載: blog.csdn.net/qq_43078445/article/details/106986432