Javaの基礎編 - 2020 Javaのインタビューの質問()で

------------ ------------復元コンテンツが始まります

1. Javaの基礎
ログイン時にバックグラウンド検証のための1.1、データベース値に戻っloginpass対照的に取得していますか?
メソッド1.2のJavaカバレッジ(上書き)とメソッドのオーバーロード(過負荷)、それはどういう意味ですか?
過負荷、過負荷は、同じクラスの複数の同じメソッドの名前を表し、これらの方法のパラメータリスト(すなわち、異なる数またはパラメータの種類)を変えます。
書き換えオーバーライド表現サブクラスがメソッドの名前と親クラスと同一のパラメータであることができ、この方法で作成されたサブクラスオブジェクトのインスタンスが呼び出され、それは親に相当するメソッド定義サブクラスを呼び出します性能のオブジェクト指向プログラミングの多型であるカバーと全く同様に定義されたクラス、。
1.3インタフェースと抽象クラスがあるの違いは何ですか?
抽象クラス:抽象修飾クラスを含む抽象クラスは、オブジェクトのインスタンスを作成することができない、抽象クラスです。メソッドを含む抽象クラスは抽象クラスとして定義する必要があり、抽象クラスのメソッドは抽象的である必要はありません。抽象クラスは、したがって、それは抽象的または抽象的な静的コンストラクタメソッドではなく、特定のサブクラスで定義された抽象メソッドを実装する必要があります。子供はすべての抽象メソッド抽象親クラスの実装のようにしていない場合、サブクラスも抽象型として定義する必要があります。
インタフェース:抽象クラスの特殊なケースであると言うことができる、インタフェースのすべてのメソッドは抽象的でなければなりません。この方法は、パブリック静的最終的にパブリック抽象型メンバ変数型インタフェースのデフォルトにインタフェースのデフォルト値を定義しました。
2次のような違いの構文の比較
1.抽象クラスはコンストラクタを持つことができ、インタフェースはコンストラクタを持つことができません。
前記抽象クラスインターフェースは、通常のメンバ変数ではない、通常のメンバ変数を持つことができる
。3.抽象クラスは非抽象常法を含んでいてもよい、すべてのインタフェースのメソッドが必須非抽象通常の方法を持っていない抽象あります。
4.パブリック、保護、およびデフォルトのタイプ、抽象メソッドのみパブリックインターフェイスタイプ、およびデフォルトを変更パブリック抽象型であることをアクセス・タイプの抽象化の方法ができる抽象クラス。
抽象クラスは、静的メソッドは、インターフェース含めることができない、静的メソッドを含んでいてもよい
6抽象クラス及びインターフェースは、静的メンバ変数を含むことができ、静的メンバ変数のアクセスタイプ抽象クラスはいずれであってもよいが、唯一のインタフェースで定義された変数をpublic static finalタイプがあること、およびデフォルトのpublic static finalタイプであることができます。
7. Aクラスは複数のインタフェースを実装することができますが、唯一の抽象クラスを継承することができます。

1.4不当な方法を作成するには、いくつかのスレッドがありますか?

   カスタムクラス継承Threadクラスの道

   、Runnableインタフェースを実装するカスタムクラス

基本的なインターフェイス1.5のJavaコレクションフレームワークは何?
コレクションインタフェース
   リストインタフェース
    セット・インタフェース
地図インターフェイス

は何1.6 BlockingQueueのこと?
1.BlockingQueue:キューは、二つの追加の操作をサポートし、これら二つの動作は以下のとおりです。キューが空になり、メモリ素子は、要素を取り出すときに使用可能な場合になるためにスペースを待ちます。
2.BlockingQueueがnull要素を受け入れません。
3.BlockingQueue容量が定義されてもよいです。
4.BlockingQueueの実装は、スレッドセーフです。キューは、スレッドセーフではありません。消費者モデル-したがってBlockingQueueの生産のために使用することができます。
BlockingQueueのがいっぱいの場合BlockingQueueのキューの場合とBlockQueueが空の場合は、その後、BlockingQueueのから物事を取る操作が何かにBlockingQueueのまで、待機状態にブロックされますが、あまりにも、内部を維持しようとする試みを目覚めさせますそこBlockingQueueのスペースが継続して目覚めされるまで、物事の操作は、待機状態にブロックされます。
その1.7 Javaでの例外の2種類は何ですか?
エラー:エラーJava仮想マシンによって生成され、スローと呼ばれる、ダイナミックリンクを含むが失敗し、仮想マシンのエラーは、プログラムがそれらを処理しません。
例外:すべての親の例外クラスは、サブクラスが発生する可能性があり、異常な事象の多様に対応するには、通常、宣言するか、ユーザのディスプレイをキャプチャする必要があります。
ランタイム例外:異常の特別な種類、例えば0などによって、範囲の配列の添字など、比較的頻繁に生じる、煩わしいプロセス、またはステートメントを大幅に捕捉さ読みやすさや操作効率に表示される場合。このように、システムによって自動的に、そのデフォルトの例外ハンドラ(ユーザがそれらを処理する必要はありません)に検出されました。
1.8決勝、finallyfinalize違いは?
プロパティ、メソッド、クラスの最終的な宣言は、属性は、それぞれの方法を上書きすることはできず、クラスが継承することができない、変更することができません。ローカルインナークラス変数にアクセスするには、ローカル変数が定義されている必要があり、最終的なものです。
最終的には例外が文の構造、常に実行手段の一部を扱います。
ファイナライズは、ガベージコレクタの実行時に、このようなファイルを閉じると、時にガベージコレクションの他のリソースの回復を改善するために、このメソッドをオーバーライドすることができ、このアプローチは、コレクションの対象となる呼び出して、Objectクラスのメソッドです。JVMは、常にこのメソッドが呼び出されることを保証するものではありません。

どのように1.9のJava直列化を達成するために、ポイントは何ですか?
これは、流動する、いわゆるコンテンツオブジェクトストリームオブジェクトであるオブジェクトのプロセス・ストリームのシリアル化メカニズムの一種です。流動オブジェクトは読み出しおよび書き込み操作ができ後、オブジェクトはまた、ネットワーク間で流動化した後に送信することができます。シリアライゼーションは、読み出し(データのないシーケンスはスクランブル問題となる可能性がある場合)、オブジェクトのストリームを書き込むときに生じる可能性のある問題を解決することを目的とします。
シーケンスを実現するために、それはクラスが実装するインタフェースの識別子であるシリアライズインターフェース、その後オブジェクトのwriteObjectを介して出力ストリームと出力ストリームを構成するために使用されるオブジェクトをシリアル化することができるようなラベルを作成する必要がある(Object)メソッドライト・オブジェクト(すなわち、その状態を保存する)を達成することができ、入力ストリームは、オブジェクトを作成するために、入力ストリームとすることができるデシリアライズするために必要であれば、そのオブジェクトは、readObjectメソッドによってストリームから読み取られます。永続オブジェクトの配列に加えて、達成することができるだけでなく、オブジェクトの深さは、クローニングのために使用することができます。

1.10を超えるスレッドの問題
1.11はどのようなデザインパターンを使用していました
シングルトンデザインパターン
の工場の設計パターンの
テンプレートデザインパターン
装飾デザインモード
プロキシデザインパターン
アダプタのデザインパターン
シングルモードで実行1.12書き込み
飢えパターン
パブリッククラスシングル{
    このクラスの//プライベートコンストラクタ
    プライベートシングル(){}
    //このクラスのオブジェクトの作成
    プライベート静的新しい新しいシングルシングルSは=();
    //元のオブジェクトのメソッドは、外部の提供取得
    のpublic staticシングルのgetInstance(){
        リターンS;
    }
}
問題注意:
  単一のオブジェクトに何のオブジェクトを作成することはできません外の世界によると、それはないだろうgetInstanceメソッドを呼び出し、その後、あなたは外の世界は、このメソッドを直接呼び出すために、クラス名を通じてなりそうということ、のgetInstanceの静的メソッドにする必要があります。

レイジーモード
パブリッククラスシングル
{
    //プライベートコンストラクタ
    プライベートシングル(){}
    //このクラスでは、本クラスのオブジェクトを作成します。
    シングルインスタンス=プライベートヌル静的;
    //外部スタティックアクセス方法、オブジェクトクラスのこのインスタンスへのアクセスを提供する
    のpublic staticシングルのgetInstance(){  
        IF(インスタンス== NULL)//セキュリティスレッドが存在します
        {
            インスタンス=新しい新しいシングル();
        }
        戻りインスタンス;
    }
}
クラスSingleDemo
{
    パブリック静的無効メイン(文字列[] args)
    {
        //オブジェクト・クラスのインスタンスを取得するシングルS
        シングルSingle.getInstance S =();
        //取得インスタンスオブジェクトクラスS2シングル
        シングルS2 = Single.getInstance();
        System.out.printlnは(S == S2); //真へ
    }
}

その他のJavaの顔の質問には、ダークホースに注意を払うを喜ばJavaのフォーラム

エンド------------ ------------コンテンツを復元

おすすめ

転載: www.cnblogs.com/ihmlt/p/12382588.html