Javaのインタビューの基礎

1. GETとPOSTの違いを、

 

 


2.クッキーとセッションの違い

 

 


3.HashMapとハッシュテーブルの違い。

      HashMapのハッシュテーブルベースの実装は、各要素が単一のリストを通じて内部競合を解決するためのキーと値のペアであり、(閾値を超える)容量の欠如は、それも自動的に増加するであろう。

      HashMapのは、スレッドセーフではありませんが、シングルスレッド環境で、マルチスレッド環境と同時の契約ConcurrentHashMapの下で使用することができます。

      HashMapのは、Serializableインタフェースを実装し、それがシリアライズがクローニングされ、Cloneableインタフェースを実現しサポートしています。

 

 

      ハッシュテーブルはまた、各要素は、内部競合が単一のリスト、(閾値を超える)容量不足によって解決されていることをキーと値のペアであり、同じことを達成するために、ハッシュ・テーブルに基づいて、それも自動的に増加するであろう。

      ハッシュテーブルは、JDK1.0クラスで導入されたスレッドセーフである、それはマルチスレッド環境で使用することができます。

      ハッシュテーブルは同様にシリアル化がクローニングされ、Cloneableインタフェースを実現するサポートSerializableインタフェースを実装します。

    別の親クラスを継承

      辞書のHashtableから継承されたクラス、およびHashMapのクラスがクラスAbstractMapから継承しています。しかし、我々は、Mapインタフェースを達成しています。

      別のスレッドの安全性

      説明したハッシュマップの期間に関するJavadocは、次のとおりです。この実装は同期されません。複数のスレッドがハッシュマップにアクセスした場合と、少なくとも1つのスレッドが構造的にマップを変更しており、それは外部で同期をとる必要があります。

4. ArrayListのとLinkedListの違い

1、のArrayListとLinkedListの分析は、アレイ(動的配列)のデータ構造である名、から考えることができ、リンク(鎖)のデータ構造であり、加えて、彼らは両方のリストインターフェイスを実現しています。

前者は、ダイナミックアレイに対応するキューの配列である;後者は二重連結リスト構造であるが、スタック、キュー、両端キューとして

図2は、LinkedListの線形データストレージためのArrayList LinkedListのより効率的である場合、ランダム・アクセス・リスト(取得及び操作を設定し)、注文ルックアップを前後にポインタを移動させる必要があります。

ArrayListのが配列であるため、操作を追加または削除するには時間が、動作は、すべてのデータポイントのインデックスを有するようにデータ演算増加および削除は、LinkedListのArrayListをより効率的に、(追加の操作を削除する)3、指数への影響、モバイルデータの必要性。

4、ビューの利用効率点、下ArrayListの自由、それは手動で固定サイズの容量を設定し、使用する方が便利ですが、唯一の添字を使用するために呼び出すことで、データを作成して追加する必要がありますする必要があるため、無料のLinkedList高抵抗は、動的に変化するデータの量によって変化するが、使用することが不便であることができます。

図5に示すように、リストlListにスペースを確保するのに必要な主制御オーバーヘッドでのArrayList; LINKLISTストレージノードとノードポインタ情報を必要とする主制御オーバーヘッド情報。

そして5. ==間の差に等しいです。

  1.  ==二つの変数が決定されるか、または実施例は、同じメモリ空間に向けられていない、メモリ空間への2つの決定された変数または例ポイントの値が同じではないに等しいです 
  2. ==、比較されるメモリアドレスを参照し、文字列の内容と比較される)(等しいです
  3. ==、同じ参照番号が参照され(等しい)同一である値を意味

どのような方法6.Threadクラス、どのように多くのスレッドの同期を達成するための方法。

1.直接スレッドクラスの継承、実装2つの実行可能なインターフェース、同期5つの方法がある:方法1つの同期は、シンクブロック2; 3使用特殊可変ドメイン(揮発性)が実現スレッド同期を 4リエントラントを用います。以下のためのロックスレッドの同期 ; 5は、ローカル変数の使用して実装スレッド同期を
前記マルチスレッドの実装が書き換えまたは、そしてより頻繁に同期方法と同期コードブロックを使用して製造に使用された同期方法を使用するためのrun()メソッドを上書きするために注意を払う必要があります。

差7.JAVAスレッドやプロセスを作成し、スレッド

プロセスとスレッドの違い

        スレッドは、より小さな単位によって複雑なプロセスであり、プロセスが複数のスレッドを含んでいます。

        例えば、チャットセッションは、メインスレッド、スレッド、メッセージ受信されたメッセージを送信したスレッドを含んでいます。

        プログラムの実行処理を実現するコントロールユニット。

        プログラムの実行スレッドの責任、およびプロセスをより制御ユニットを可能にする、我々は、マルチスレッドと呼ばれています。

 

    スレッドを作成する方法

        最初の方法:

        1、継承Threadクラス

        Threadクラスのrunメソッドをオーバーライドする2、

        図3は、サブクラスオブジェクトスレッドを作成します

        図4に示すように、スレッドを開始する開始メソッドを呼び出します

   

    第二の方法:

        1、定義クラスは、Runnableインタフェースを実装します

        図2に示すように、パッケージのタスク、スレッドの実行方法で実行されている実行方法でインターフェイスを実装

        3、パラメータは、スレッドを作成するために渡される、Runnableインタフェースオブジェクトを実装するクラスをスレッドオブジェクトを作成し、そして

        4、呼び出し元のスレッドオブジェクトのstartメソッド、スレッドを開始

 

 

    スレッドセーフ

        図1に示すように、マルチスレッド動作データ共有

        図2に示すように、共有データの複数のオペレーションコード

    ソリューション:同期ブロック

            利点:スレッドの安全性の問題を解決します

            短所:、分数を減らすたびに同期ロックを判断します

    同期コードと同期機能ブロック

        ロック同期コード・ブロックが任意のオブジェクトで、このロック同期機能があります

8.既存の学生のテーブル構造(STUDENT_ID、CLASS_ID、名)、SQL文の各クラスでの統計に学生の数を書いてください

 

CLASS_IDを選択し、CLASS_IDによって学生のグループから(*)カウント

 

いくつかの種類の合計を要求し9.HTTP

 

    GETとPOSTだけでなく、これらのタイプを見に加えて:

    HEAD:のみHTTPヘッダー情報サーバ復帰に類似し、差異のある要求ではなく、ページのコンテンツを取得

    PUT:アップロードは、URLの説明を指定

    DELETE:指定されたリソースを削除

    OPTIONS:サーバーは、HTTPメソッドをサポートして返します

    CONNECT:透明TCP / IPトンネル接続要求に変換され、

   Requestパケットと応答パケットは、次の4つの部分で構成されています

   1.リクエストライン

   2.リクエストヘッダ

   3.空行

   4.メッセージ本文

 

おすすめ

転載: www.cnblogs.com/roke-j/p/11432372.html