javaSE(概要)

JavaSEレビュー

基本的な文法

コメント

  • インラインコメント//
  • 複数行のコメント/ ** /
  • ドキュメントコメント/ ** * / javadocはヘルプドキュメントを生成します

識別子

javaキーワード(バイドゥレビュー)

データの種類

  • 基本データタイプ(4タイプと8タイプ)

    • データの種類 の種類 バイト
      整数 バイト 1
      整数 ショート 2
      整数 int 4
      整数 長いです 8
      フローティングポイント 浮く 4
      フローティングポイント double(デフォルト) 8
      キャラクター char 2
      ブール ブール値 1(位)

      フローティングポイントBigDecimal

    参照データタイプ

    • クラス
    • インターフェース
    • アレイ

    タイプ変換

    • 低から高への自動タイプ変換
    • 強制タイプ変換高から低(低)高

    変数と定数

    タイプvarName [= value];

    範囲

    • クラス変数
    • インスタンス変数
    • ローカル変数

    一定の最終MAX_A = 10;

    命名規則

    • 名前を見る
    • キャメルケースの命名(変数、メソッド)
    • クラス、最初の大文字、ラクダのケース名
    • 定数:大文字+下線
    • pinyinを使用しないでください

オペレーター

  • 算術演算子+-* /%++ –
  • 割り当て演算子=
  • リレーショナル演算子> <> = <= ==!= instanceof
  • 論理演算子&& ||!
  • ビット演算子&| ^〜>> << >>>
  • 条件演算子?:(三元演算子)x?Y:z
  • 拡張演算子+ =-= * = / =

パケットメカニズム

  • ドメイン名を逆にする
  • 名前の競合を防ぐ
  • パッケージ
  • インポート

JavaDoc

  • JDKヘルプドキュメント
  • 1.javadoc
    • @auther作成者名
    • @バージョンバージョン
    • @Sinceサポートされている最も古いJDKバージョン
    • @Paramパラメータ
    • @return戻り値
    • @throws例外

プロセス制御

  • スキャナーユーザーインタラクションSystem.in

  • シーケンス構造プログラムのデフォルト構造、トップダウン実行

  • 構造を選択

    • 単一選択構造の場合
    • if-else二重選択構造
    • if-elseif-else複数選択構造
    • スイッチ
      • jdkは文字列タイプをサポートします
      • ケースの浸透
      • ブレーク
      • デフォルト

    ループ構造

    • 無限のループを避けてください
    • 一方を行います
    • for(int i = 0; i <100; i ++)
    • ナインナイン乗算テーブル
    • forループを追加

    休憩して続行

    • ブレーク:ループから抜け出す
    • 続行:現在のループを終了します
    • ラベル付き続行
    • return:メソッドの実行を終了します

方法

  • 方法は何ですか!
  • メソッド定義修飾子の戻り値メソッド名(パラメーター名){戻り値;}
  • メソッド呼び出し
    • クラス名。メソッド
    • オブジェクト。メソッド
  • メソッドのオーバーロードは同じ名前ですが、パラメーターリストが異なります
  • コマンドラインパスパラメータからメインメソッドパスパラメータcmdoutput java.class file run
  • 可変長パラメータ
    • 最後のパラメーターに配置する必要があります

再帰

  • 自分を調整し、自分に出口を与える
  • LeetCodeについてよくある質問

アレイ

  • 配列定義

    • new int [5]
    • {1,2,3,4,5}
    • 同じタイプである必要があります
  • アレイの使用

    • 添え字で値を取得する
    • ArrayIndexoutofBounds
    • ループトラバーサルの増加
  • 二次元配列int [] []

  • アレイツール

  • ソートアルゴリズム

    • バブルソート
    • 並べ替えを選択
    • 挿入ソート
    • クイックソート
    • マージソート
    • ヒルソート
    • ヒープソート
    • ベースソート

オブジェクト指向

オブジェクト指向とは

クラスとオブジェクト

  • クラスはオブジェクトの抽象化です:テンプレートクラス
  • オブジェクトはクラス固有です

工法

  • 構築された過負荷
    • デフォルトのパラメータなしの構成
    • パラメータ化された構造を手動で定義する場合は、別のパラメータのない構造を手動で追加する必要があります
    • シングルトンモードにはプライベートコンストラクタが必要です!

新しいオブジェクト

  • スタックストレージリファレンス
  • ヒープには特定のオブジェクトが格納されます

パッケージ

  • 私有財産、取得、設定
  • 継承
    • 拡張します
    • オブジェクト
    • 子クラスには、親クラスのすべての特性があります
    • メソッドの書き換え
    • この
    • 素晴らしい
    • Javaは単一の継承であり、継承できる親クラスは1つだけです

多形性

  • 親クラスの参照は、子クラスのオブジェクトを指します。Personperson = new Student();
  • キーのインスタンス、一致する場合は、タイプ間で変換できます

修飾子

  • 公衆
  • 保護
  • 民間
  • 静的
  • 最後の
  • 概要

インターフェース

  • インターフェース
  • 制約、メソッド名のみを定義できます
  • サブクラスはインターフェイスを実装し、そのメソッドを書き直す必要があります
  • メソッドが1つしかないインターフェースは機能インターフェースと呼ばれ、ラムダ式を使用して簡略化できます。
  • インターフェイスは抽象的よりも抽象的です
  • クラスは複数のインターフェースを実装できます

インナークラス

  • ローカル内部クラス
  • 静的内部クラス
  • 匿名の内部クラス(強調)

異常な

スロー可能
  • 例外
    • ランタイム例外
      • 1/0
      • ClassNotFound
      • NullPoint
      • UnKownType
      • 範囲外の添え字例外
      • 。。。。
    • 例外を確認する
  • エラー
    • AWTエラー
    • JVMエラー
      • スタックオーバーフロー
      • OutOfMemory
5つのキーワード
  • try {}
  • キャッチ(){}
  • 最後に{}
  • 手動でスロー例外をスロー
  • throwsメソッドは例外をスローします
カスタム例外
  • Exceptionクラスを継承するだけです

一般的に使用される

  • オブジェクトクラス
    • ハッシュコード()
    • toString()
    • クローン()
    • getClass()
    • 通知()
    • 待つ()
    • 等しい()
  • 数学クラス//一般的な数学演算
  • ランダムクラス//ランダム番号UUIDを生成
  • ファイルクラス
    • ファイルを作成する
    • ビューファイル
    • ファイルを変更する
    • ファイルの削除
  • 梱包//自動梱包と開梱(バイドゥは理解しています)がインタビューし、質問します
  • 日付クラス
    • 日付
    • SimpleDateFormat yyyy-MM-dd HH:mm:ss
    • カレンダー(推奨)
  • 文字列クラスの不変性最終
  • StringBuffer可変長append()大量のマルチスレッドデータ、低効率および安全性
  • StringBuilder可変長シングルスレッドデータボリュームが大きく、影響が大きく、安全ではありません

コレクションフレーム

  • コレクション
    • リスト(順序付けられ、繰り返し可能)
      • ArrayList(一般的に使用されます)
        • 追加
        • 削除する
        • 含まれています
        • サイズ
      • LinkedList(一般的に使用されます)
        • getFirst()
        • getLast()
        • removeFirst()
        • addFirst()
      • ベクター
      • スタック
    • セット(順序なし、繰り返し不可)
      • HashSet(一般的に使用されます)
      • TreeSet
    • イテレーター:イテレーター
  • 地図
    • HashMap(インタビューのためのよくある質問に焦点を当てる)
      • JDK1.7:アレイ+リンクリスト
      • JDK1.8:ハッシュテーブル=配列+リンクリスト+赤黒ツリー
    • TreeMap
  • 収集ツール
  • Hutoolツール(それらのほとんどは持っています)
  • タイプ変換間の問題を回避するための一般的な<>制約

IO流

  • バイトストリーム
    • 出力:OutputStream
    • 入力:InputStream
  • キャラクターストリーム
    • 書き込み:リーダー
    • 書き出す:Wirter
  • ノードフロー
    • CharArrayReader、Writer、InputStream、OutputStream
    • StringReader、Writer
    • パイプ(パイプラインストリーム)PipedOutputStream
  • 処理フロー
    • バッファ
      • bufferInputStream
      • bufferOutputStream
      • bufferReader
      • bufferWriter
    • シリアル化
      • シリアル化可能なトランジェントの逆シリアル化(透過的)
    • データ
      • DataInputStream
      • DataOutputStream
    • 変換フロー
      • InputstreamReader
      • OutputStreamWriter
    • フィルター4
    • 印刷
      • PrintWriter
      • PrintStream

マルチスレッド

  • プロセスとスレッド
  • run()、Start()
  • スレッドの作成方法
    • スレッドstart0、ローカルメソッド:javaには呼び出す権限がなく、プライベートを処理するために基になるCに渡されます
    • 実行可能な機能インターフェイスラムダ
    • Callableは戻り値を持つことができます
  • 静的プロキシ
    • 新しいトレッド(実行可能).start();
  • ラムダ式
    • 機能プログラミング
    • 内部クラス定義が多すぎないようにしてください。
    • new Thread(()-> {
    • 塩();
    • })。開始();
    • ラムダ式を手動で再度導出する
  • スレッドステータス
    • 新しいステータス
    • 準備完了
    • 実行
    • ブロック
  • 一般的に使用される方法
    • 睡眠
    • 参加する
    • 産出
    • isLive
    • 開始
    • setPriority
    • 割り込み

スレッドの同期

  • 複数のオブジェクトが同じリソースで動作します
  • キュー+ロック
  • 同期
    • 同期方法のデメリット:ロックが多すぎて3番目
    • 同期コードブロック(一般的に使用されます!)2番目
    • 最初のスレッドがロックを取得するために入り、この人がロックを解放するまで後でキューに入れられ、その後ロックを取得できます
    • デッドロック:2人がお互いのロックを保持しています
      • 相互に排他的
      • リクエストして保留
      • 剥奪なし
      • ループ待機状態
  • ロック(優先度が高い)最高
    • ReentrantLock
      • ロック
      • trylock
      • ロックを解除する
  • スレッド通信
    • バッファ:メッセージキュー
    • サインの位置:トラフィックライト
    • 待つ();
    • notifyAll();
  • スレッドプール(プール)
    • プーリング技術
    • プールサイズ
    • 接続の最大数
    • ホールドタイム
    • 。。。。。

ネットワークプログラミング

  • IP
  • ポート
  • ソケットプログラミング
  • TCP
    • 3つのハンドシェイク
    • 4回振る
    • 接続指向
  • UDP
    • 接続なし
    • パケット
  • URL
  • Tomcatを知る
  • チャットコミュニケーション
  • ファイルのアップロード

GUI

  • AWT
    • フレーム
    • イベントを聞く
      • マウス
      • キーボード
      • アクションイベント
  • スイング
    • テキストボックス
    • ラベル
    • ボタン
    • テキストフィールド
    • パネル
    • レイアウト
    • 窓を閉めて
    • リスト
  • 貪欲なヘビ
    • タイマー
    • キーボードモニター
    • ゲームフレームの概念

注釈と反射

  • 注釈
    • メタ注釈
    • 組み込みの注釈
    • カスタム注釈
    • リフレクションリーディングアノテーション
  • 反射
    • クラスnewlnstance();
    • クラスローディングメカニズム
    • 方法
      • invoke(user3、 "Guangzhou");
      • オーバーロードがありますが、パラメーターのタイプも書き込む必要があります
    • フィールドセット(user4、 "広州");
    • 構築する
      • newlnstance();
      • 取得時に必須、パラメータのクラスタイプを渡す
    • プライベートキーワードを破棄する
      • setAcce'sible(true);
      • パフォーマンス分析は正常です>閉じた反射を検出>デフォルトの反射
  • シングルトンパターンの調査
  • ストリーム
  • ForkJoin
    • 効果の比較

おすすめ

転載: blog.csdn.net/HolleDream/article/details/107936128