Java インタビューの知識ポイント

angryTom
リリース: 2019-08-10 17:47:02
転載
2844 人が閲覧しました

Java インタビューの知識ポイント

1. Java ファイルは、JVM によってバイトコード ファイル、つまり .class ファイルにコンパイルされます。バイトコード ファイルが別のオペレーティング システムで実行される場合、オペレーティング システムはバイトコード ファイルを変換します。コード ファイルはマシン コード ファイルにコンパイルされます。これは Java クロスプラットフォームです。


2. まず第一に、Java の GC リサイクルは完全に自動であることを明確にしましょう。手動リサイクルに関連する API はありません。すべてのメモリ割り当てとリサイクル権限は、ガベージ コレクションを強制する絶対的な方法はありませんが、次のように行うことができます:

1) 参照されなくなったオブジェクトについては、適切なタイミングでその参照を null に割り当てます。やり方。 obj = null;

2) メモリが非常に不足している場合は、System.gc () メソッドを呼び出して、ガベージ コレクターにガベージの収集を開始するよう提案し、GC の実行を通知します。ただし、Java 言語の仕様では、 GC が実行されることは保証されません。


3. Java基本型のデフォルト値と値の範囲

整数型 byte (1バイト) short (2バイト) int (4バイト) long (8バイト)

文字型 char (2 バイト)

浮動小数点型 float (4 バイト) double (8 バイト)

Java インタビューの知識ポイント


4.一般的な文字の ASCII コード値は次のとおりです: スペースの ASCII コード値は 32、数字 0 ~ 9 の ASCII コード値はそれぞれ 48 ~ 57、大文字「A」の ASCII コード値「Z」のASCIIコード値はそれぞれ65~90、小文字「a」~「z」のASCIIコード値はそれぞれ97~122です。


5. Java 識別子の命名規則は次のとおりです:

1) 26 文字の英大文字、小文字、数字: 0 ~ 9、記号: _ $ \# で構成されます。

## 2) 識別子は、_、$ の文字で始まる必要があります。

3) 識別子をキーワードにすることはできません。


6、抽象クラスとインターフェース

1) 抽象クラスについて

JDK 1.8より前では、抽象クラスのメソッドのデフォルトのアクセス権限は保護されていました

JDK 1.8 になると、抽象クラスのメソッドのアクセス権限がデフォルトになります

# 2) インターフェースについて

# JDK 1.8 より前では、インターフェース内のメソッドは public

## である必要があります# JDK JDK 1.8では、インターフェースのメソッドはパブリックまたはデフォルトにすることができます。JDK 1.9では、インターフェースのメソッドはプライベートにすることができます。

#7. Boxing and unpacking Box

基本データ型はボックス化によってパッケージング クラスに変換されます (例: int --> Integer)。

ラッパー クラスを基本データ型に変換することは、ボックス化を解除することです (例: Integer --> int)。


ラッパークラスは参照型、基本データ型は値型です。

ボックス化およびボックス化解除操作を通じて、値型と参照型の間にブリッジを構築できます。つまり、値型と参照型を簡単に変換でき、ボックス化とアンボックス化でシステムを均一に検査でき、最終的にはどのような型の値でもオブジェクトとして処理できます。

8. シリアル化と逆シリアル化

静的変数はクラスのメンバーを表し、一時的データはオブジェクトを表すため、Java はシリアル化中に静的変数と一時的に変更された変数をインスタンス化しません。この 2 種類のデータ メンバーはシリアル化できないことが宣言されています。

#9. Java には、値の転送と参照の転送という 2 つの転送メソッドがあります。基本型と string str = "aaa"; で作成された型はすべて値によって渡されます。オブジェクトの作成と配列はすべて参照によって渡されるため、関数の仮パラメータを判断する際には特別な注意を払う必要があります。

10. Java ガベージ コレクションのメカニズム

ガベージ コレクションは、スタック領域のメモリがスレッドとともに解放されるため、主にヒープ領域のリサイクルを目的としています。ヒープは、ヤング世代、オールド世代、永続世代 (メソッド領域) の 3 つの領域に分割されます。

1) ヤング世代: オブジェクトが作成されると (新規)、オブジェクトは通常ヤングに配置されます (比較的大きなメモリを占有する一部のオブジェクトを除く) 特定のマイナー GC (若い世代のメモリのリサイクル) の後Live オブジェクトは古い世代に移動されます (特定の移動の詳細は省略されています)。


2) 古い世代: 前述の若い世代が移動し、いくつかのより大きなオブジェクトです。 Major GC (FullGC) は古い世代のコレクション用です。

3) 永続生成: 最終定数、静的変数、定数プールを保存します。

11. パッケージリファレンス

Import java.util.* ;

java/util ディレクトリ内のすべてのクラスにアクセスできますが、java/util にはアクセスできませんサブディレクトリ


12 の下にあるすべてのクラス コンストラクターは継承できず、コンストラクターは明示的または暗黙的にのみ呼び出すことができます。 (これは高麗人参の有無にかかわらず当てはまります)


13、文件分為文字檔和二進位文件,電腦只認識二進制,所以實際上都是二進位的不同解釋方式。文字檔案是以不同編碼格式顯示的字符,例如Ascii、Unicode 等,window 中文字檔案的後綴名有「.txt」,".log", 各種程式語言的來源碼檔案等;二進位檔案就是用文字文檔開啟是看不懂亂碼,只要能用文字開啟的文件都可以算是文字文件,只是顯示的結果不是你想要的,二進位檔案只有用特殊的應用才能讀懂的文件,例如「.png」," .bmp" 等,電腦中大部分的檔案還是二進位檔案


14、try 只適合處理執行時間異常,try catch 適合處理執行時間異常普通異常。也就是說,如果你只用 try 去處理普通異常卻不加以 catch 處理,編譯是通不過的,因為編譯器硬性規定,普通異常如果選擇捕獲,則必須用 catch 顯示聲明以便進一步處理。而執行時期異常在編譯時沒有如此規定,所以 catch 可以省略,你加上 catch 編譯器也覺得無可厚非。


15、管道

  對於管道,有以下幾種:

    ①普通管道(PIPE):通常有兩種限制,一是單工,即只能單向傳輸;二是血緣,即常用於父子進程間(或有血緣關係的進程間)。

    ②流管道(s_pipe):移除了上述的第一個限制,實現了雙向傳輸。

    ③命名管道(name_pipe):移除了上述的第二種限制,實現了無血緣關係的不同進程間通訊。

  要求是對於不同的伺服器之間的通信,是要要求全雙工形式的,而管道只能是半雙工,雖然可以雙向,但是同一時間只能有一個方向傳輸,全雙工與半雙工的差異可以如下圖示理解:

Java インタビューの知識ポイント

推薦教學:java初級入門影片

原文網址:https://blog.csdn.net/qq_33945246/article/details/90040041

以上がJava インタビューの知識ポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート