ロードマップ
Oracle Java SE 17 Developer (1Z0-829)
12 ドメイン 78 トピック 384 ポイント
- · LocalDate クラスの理解
- · LocalTime クラスの理解
- · LocalDateTime クラスの理解
- · ZonedDateTime クラスの理解
- · Instant クラスの理解
- · Period クラスの理解(日付の期間計算)
- · Duration クラスの理解(時間の期間計算)
- · DateTimeFormatter を使用した日時のフォーマットと解析の理解
- · タイムゾーンと ZoneId の理解
- · 日時の比較と操作メソッド(plus, minus, with など)の理解
- · String クラスの標準メソッドの理解(length, charAt, substring など)
- · String メソッドの理解(contains, indexOf, startsWith, endsWith など)
- · String の不変性の理解
- · テキストブロックの構文と用法の理解
- · テキストブロックとマルチラインStringの違いの理解
- · テキストブロック内のエスケープシーケンスの理解
- · プリミティブ数値型(int, long, double, float)の理解
- · 数値型間の自動変換規則の理解
- · 整数リテラル(10進法、16進法、8進法、2進法)の理解
- · 浮動小数点数の表現と精度の理解
- · 数値演算子(+, -, *, /, %)の理解
- · インクリメント・デクリメント演算子(++, --)の理解
- · Autoboxing(プリミティブ型からラッパークラスへの自動変換)の理解
- · Unboxing(ラッパークラスからプリミティブ型への自動変換)の理解
- · Integer, Long, Double, Float, Boolean ラッパークラスの理解
- · Autoboxing と Unboxing が発生する場面の理解
- · null 値と Unboxing の関係の理解
- · boolean プリミティブ型の理解
- · 論理演算子(&&, ||, !)の理解
- · 短絡評価(short-circuit evaluation)の理解
- · 比較演算子(==, !=, <, >, <=, >=)の理解
- · ビット演算子(&, |, ^, ~)の理解
- · if ステートメントの構文と動作の理解
- · if-else ステートメントの理解
- · if-else-if チェーンの理解
- · 三項演算子(? :)の理解と用法
- · 従来の switch ステートメントの構文の理解
- · break と default ケースの理解
- · switch 式(switch expressions)の理解と構文
- · switch 式の戻り値と yield の理解
- · 複数の case ラベルのグループ化の理解
- · Switch 内でのパターンマッチングの理解
- · 型パターンの理解
- · ガード句(guard clause with when キーワード)の理解
- · Sealed クラスと Exhaustiveness チェックの理解
- · レコードパターンの基本的理解
- · for ループ(従来型)の構文と動作の理解
- · 拡張 for ループ(for-each)の理解と用法
- · while ループの理解と動作
- · do-while ループの理解(最低1回は実行される)
- · ループ内での break と continue の理解
- · break ステートメントの動作(ループ脱出)の理解
- · ラベル付き break の理解
- · continue ステートメントの動作(次の反復へ)の理解
- · return ステートメントの理解
- · クラス宣言と構文の理解
- · フィールド(メンバー変数)の宣言と初期化の理解
- · メソッド宣言の理解
- · コンストラクタの理解
- · デフォルトコンストラクタの理解
- · アクセス修飾子(public, private, protected, package-private)の理解
- · カプセル化の原則の理解
- · Getter と Setter メソッドの実装と理解
- · スコープとライフサイクルの理解
- · 継承(extends キーワード)の理解
- · super キーワードの用法の理解
- · this キーワードの用法の理解
- · メソッドのオーバーライドの理解
- · ポリモーフィズムの理解
- · 参照型キャスティングの理解
- · instanceof 演算子の理解
- · コンストラクタの役割と動作の理解
- · this() による同一クラス内のコンストラクタ連鎖の理解
- · super() による親クラスのコンストラクタ呼び出しの理解
- · コンストラクタの実行順序の理解
- · 抽象クラスの目的と定義の理解
- · abstract キーワードの用法の理解
- · 抽象メソッドの実装強制の理解
- · 抽象クラスのインスタンス化不可の理解
- · インターフェースの定義と実装の理解
- · implements キーワードの理解
- · インターフェースのメソッド宣言の理解
- · デフォルトメソッド(default メソッド)の理解
- · 静的メソッドの理解
- · プライベートメソッド(Java 9以降)の理解
- · 複数インターフェースの実装の理解
- · enum の宣言と定義の理解
- · enum 定数の理解
- · enum のメソッドとフィールドの理解
- · values() と valueOf() メソッドの理解
- · enum を switch で使用する理解
- · record クラスの定義と目的の理解
- · record のコンポーネント宣言の理解
- · 自動生成される getter, equals, hashCode, toString の理解
- · record のコンストラクタの理解
- · record と final、sealed の関係の理解
- · sealed クラスの定義の理解
- · permits キーワードの理解
- · sealed 継承階層の理由(型チェックの完全性)の理解
- · permits される子クラスの制限の理解
- · コンパイル時の Exhaustiveness チェックの理解
- · ネストされたクラスの理解
- · 静的ネストクラスと非静的ネストクラスの違いの理解
- · 内部クラスの外側クラスへのアクセスの理解
- · 匿名クラスの理解
- · メソッドオーバーロードの定義の理解
- · オーバーロード解決のルール(シグネチャの一致)の理解
- · 自動型変換とオーバーロード解決の理解
- · 可変長引数(varargs)とオーバーロードの相互作用の理解
- · Throwable クラスの階層の理解
- · Exception と Error の違いの理解
- · チェック例外(Checked Exception)の定義と例の理解
- · 非チェック例外(Unchecked Exception)の定義と例の理解
- · 一般的な例外(IOException, SQLException など)の理解
- · try-catch ブロックの構文の理解
- · 複数 catch ブロックの処理順序の理解
- · catch の多相性(例外の階層に基づくマッチング)の理解
- · finally ブロックの実行保証の理解
- · finally が return 後にも実行される理解
- · try-with-resources ステートメントの構文の理解
- · AutoCloseable インターフェースの理解
- · リソース自動クローズの動作の理解
- · try-with-resources 内の catch と finally の実行順序の理解
- · Java 9 以降の final/effectively final 変数の理解
- · throw ステートメントの理解
- · チェック例外のスロー時の throws 宣言の理解
- · メソッドシグネチャでの throws 句の理解
- · 例外の再スロー(re-throwing)の理解
- · カスタム例外クラスの定義の理解
- · Exception を継承したカスタム例外の作成の理解
- · RuntimeException を継承した非チェック例外の作成の理解
- · カスタム例外の使用場面の理解
- · 例外の伝播(Exception propagation)の理解
- · 呼び出し元への例外伝播の理解
- · スタックトレース(stack trace)の理解
- · 例外チェーン(Exception chaining)の理解
- · 配列の宣言と初期化の理解
- · 配列の要素へのアクセスの理解
- · 配列の長さプロパティ(length)の理解
- · 多次元配列(2次元配列など)の理解
- · 配列の反復処理の理解(for-each ループ)
- · List インターフェースの理解
- · ArrayList クラスの理解と使用
- · LinkedList クラスの理解と使用
- · リスト内の要素の順序性の理解
- · null 要素の許可の理解
- · List の一般的なメソッド(add, remove, get など)の理解
- · Set インターフェースの理解
- · HashSet の実装と理解
- · LinkedHashSet の理解(挿入順序保持)
- · TreeSet の理解(ソート順序)
- · 重複を許可しない理解
- · null 値の扱い(実装依存)の理解
- · Map インターフェースの理解
- · HashMap クラスの理解と使用
- · LinkedHashMap の理解(挿入順序保持)
- · TreeMap の理解(ソート順序)
- · キーの一意性の理解
- · 値の重複許可の理解
- · Map の一般的なメソッド(put, get, remove, containsKey など)の理解
- · ジェネリクス型パラメータの理解
- · ジェネリクスを使用した型安全性の理解
- · List<String> のような型宣言の理解
- · ワイルドカード(?)の基本的理解
- · 型消去(Type Erasure)の理解
- · ジェネリクスと継承の関係の理解
- · Collections クラスのユーティリティメソッドの理解
- · Collections.sort() による List のソートの理解
- · Comparable インターフェースの理解
- · Comparator インターフェースの理解と使用
- · カスタムソート順序の実装の理解
- · Collections.reverse(), Collections.shuffle() などの理解
- · Collection インターフェースの理解
- · Iterable インターフェースの理解
- · コレクション型間の変換の理解
- · Arrays.asList() の理解
- · コレクションから配列への変換の理解
- · ラムダ式の構文の理解
- · ラムダ式の引数と戻り値の理解
- · 単一メソッド抽象型(Functional Interface)の理解
- · ラムダ式のスコープと変数キャプチャの理解
- · メソッド参照の理解
- · @FunctionalInterface アノテーション の理解
- · Predicate<T> の理解と使用
- · Consumer<T> の理解と使用
- · Function<T, R> の理解と使用
- · Supplier<T> の理解と使用
- · その他の関数型インターフェースの理解
- · Stream の作成方法の理解(Collection.stream() など)
- · Stream のパイプライン処理の理解
- · 中間操作と終端操作の違いの理解
- · 遅延評価(lazy evaluation)の理解
- · 順序付きストリームと順序なしストリームの理解
- · filter() メソッドの理解
- · map() メソッドの理解
- · flatMap() メソッドの理解と使用
- · distinct() による重複排除の理解
- · sorted() によるソートの理解
- · limit() と skip() の理解
- · peek() によるデバッグの理解
- · forEach() の理解
- · collect() メソッドの理解
- · reduce() メソッドの理解と使用
- · count(), min(), max() の理解
- · anyMatch(), allMatch(), noneMatch() の理解
- · findFirst(), findAny() の理解
- · toArray() による配列への変換の理解
- · Collectors クラスの理解
- · Collectors.toList() による List への変換の理解
- · Collectors.toSet() による Set への変換の理解
- · Collectors.toMap() による Map への変換の理解
- · Collectors.joining() による String への変換の理解
- · Collectors.groupingBy() によるグループ化の理解
- · Collectors.partitioningBy() による分割の理解
- · 並列ストリームの作成(parallelStream())の理解
- · 順序付きストリームと順序なしストリームの並列処理での影響の理解
- · 並列処理のパフォーマンス考慮の理解
- · スレッドセーフとコレクション更新の注意の理解
- · Path インターフェースの理解
- · Paths.get() によるパス生成の理解
- · Files クラスの理解
- · Files.exists() と Files.notExists() の理解
- · 相対パスと絶対パスの理解
- · ファイルの存在確認の理解
- · ファイルの読み取り(Files.readAllLines() など)の理解
- · ファイルの書き込み(Files.write() など)の理解
- · ファイルのコピー(Files.copy())の理解
- · ファイルの移動(Files.move())の理解
- · ファイルの削除(Files.delete())の理解
- · ディレクトリの作成(Files.createDirectory(), Files.createDirectories())の理解
- · ディレクトリの内容列挙の理解
- · ディレクトリの削除の理解
- · ディレクトリツリーの走査の理解
- · InputStream と OutputStream の理解
- · Reader と Writer の理解
- · BufferedReader と BufferedWriter の理解
- · FileInputStream と FileOutputStream の理解
- · FileReader と FileWriter の理解
- · Serializable インターフェースの理解
- · ObjectInputStream と ObjectOutputStream の理解
- · オブジェクトのシリアライズとデシリアライズの理解
- · serialVersionUID の理由の理解
- · BasicFileAttributes の理解
- · Files.getLastModifiedTime() などの理解
- · ファイルサイズの取得の理解
- · ファイル型の確認(isDirectory(), isRegularFile() など)の理解
- · DriverManager.getConnection() による接続の理解
- · 接続文字列の形式の理解
- · ユーザー名とパスワードの設定の理解
- · コネクションプール概念の基本的理解
- · Statement インターフェースの理解
- · PreparedStatement の理解と使用
- · SQL パラメータの バインド の理解
- · ResultSet の理解
- · ResultSet による行反復の理解
- · ResultSet.next() による行ナビゲーションの理解
- · ResultSet.getInt(), getString() などのメソッドの理解
- · ResultSet.getMetaData() による列情報取得の理解
- · NULL 値の処理の理解
- · autocommit モードの理解
- · Connection.setAutoCommit(false) の理解
- · commit() メソッドの理解
- · rollback() メソッドの理解
- · トランザクション境界の定義の理解
- · 複数 SQL 文のトランザクション処理の理解
- · SQL インジェクションの脅威の理解
- · PreparedStatement による防止の理解
- · パラメータ化クエリの重要性の理解
- · SQLException の理解
- · データベース接続エラーの処理の理解
- · SQL 実行エラーの処理の理解
- · try-with-resources による自動リソース管理の理解
- · Locale の作成と初期化の理解
- · 言語コード(ISO 639)の理解
- · 国コード(ISO 3166)の理解
- · Locale.Builder の理解
- · Locale オブジェクトの比較の理解
- · ResourceBundle の概念の理解
- · PropertyResourceBundle の理解
- · ListResourceBundle の理解
- · ResourceBundle.getBundle() による取得の理解
- · ロケール固有のリソース読み込み優先順序の理解
- · プロパティファイルの形式の理解
- · ファイル名規約(BaseName_language_country.properties)の理解
- · メッセージキーと値の理解
- · Java リソースバンドルファイルの構造の理解
- · DateTimeFormatter とロケールの連携の理解
- · ロケール固有の日付フォーマットの理解
- · ロケール固有の時間フォーマットの理解
- · withLocale() メソッドの理解
- · NumberFormat クラスの理解
- · ロケール固有の数値フォーマットの理解
- · 通貨フォーマットの理解
- · getInstance(Locale) による取得の理解
- · MessageFormat クラスの理解
- · メッセージパターンの理解
- · プレースホルダー({0}, {1} など)の理解
- · format() メソッドによる置換の理解
- · ロケール固有のメッセージフォーマッティングの理解
- · Thread クラスの理解
- · Runnable インターフェースの理解
- · スレッドの作成方法(Thread 継承と Runnable 実装)の理解
- · スレッド生成と開始(start() メソッド)の理解
- · Thread ライフサイクルの理解
- · スレッドの優先度の理解
- · 競合状態(Race Condition)の理解
- · synchronized キーワードの理解
- · synchronized メソッドの理解
- · synchronized ブロックの理解
- · モニタロック概念の理解
- · スレッドセーフティの理解
- · wait() メソッドの理解
- · notify() と notifyAll() メソッドの理解
- · wait-notify パターンの理解
- · スレッド間通信の理解
- · Executor インターフェースの理解
- · ExecutorService インターフェースの理解
- · 固定スレッドプール(newFixedThreadPool)の理解
- · キャッシュスレッドプール(newCachedThreadPool)の理解
- · 単一スレッド実行(newSingleThreadExecutor)の理解
- · タスク提出と実行(execute(), submit())の理解
- · シャットダウン(shutdown(), awaitTermination())の理解
- · Callable インターフェースの理解
- · Future インターフェースの理解
- · ExecutorService.submit(Callable) の理解
- · Future.get() による結果取得の理解
- · Future.isDone() と isCancelled() の理解
- · CountDownLatch の理解と使用
- · CyclicBarrier の理解と使用
- · Semaphore の理解と使用
- · これらの同期化機構の使用場面の理解
- · ConcurrentHashMap の理解
- · CopyOnWriteArrayList の理解
- · BlockingQueue の理解
- · スレッドセーフなコレクションの利用の理解
- · AtomicInteger, AtomicLong, AtomicBoolean の理解
- · AtomicReference の理解
- · Compare-and-Swap(CAS)操作の理解
- · 原子性(Atomicity)の理解
- · 並列ストリームの理解
- · ForkJoinPool の理解
- · ForkJoinTask の理解
- · RecursiveTask の理解
- · 分割統治パラダイムの理解
- · module-info.java ファイルの理解
- · モジュール宣言の構文の理解
- · モジュール名の命名規則の理解
- · requires キーワードの理解
- · requires transitive の理解と推移的依存の理解
- · requires static の理解(オプション依存)
- · モジュール依存のグラフ構築の理解
- · exports キーワードの理解
- · デフォルトで非公開なパッケージの理解
- · エクスポートされたパッケージのみ外部アクセス可能の理解
- · exports ... to による限定的エクスポート(Qualified Export)の理解
- · friend モジュールへのエクスポートの理解
- · モジュール内パッケージの可視性ルールの理解
- · モジュール間のアクセス制御の理解
- · public 修飾子のモジュール境界での意味の理解
- · platform modules へのアクセスの理解
- · provides と uses キーワードの理解
- · サービスプロバイダの定義の理解
- · ServiceLoader の理解と使用
- · 疎結合アーキテクチャの実現の理解
- · モジュール化された JAR の作成の理解
- · module-info.class の生成の理解
- · モジュールパスの理解(--module-path)
- · クラスパスとモジュールパスの違いの理解
- · 従来型 JAR(名前なしモジュール)の理解
- · 自動モジュール(Automatic Module)の理解
- · 自動モジュール化による移行戦略の理解
- · モジュール化への段階的移行の理解
- · 従来の instanceof の理解
- · 型パターン(Type Pattern)による instanceof の拡張の理解
- · instanceof 式からの型キャストの自動化の理解
- · キャスト不要による null チェック統合の理解
- · 煩雑なキャストの削減の理解
- · instanceof-and-cast イディオムの廃止の理解
- · null セーフな instanceof の理解
- · 型チェック と 変数宣言の統合の理解
- · AND パターン(&& 論理演算)の理解
- · OR パターン(|| 論理演算)の理解
- · NOT パターン(! 否定)の理解
- · パターン組合せの複雑性制御の理解