Java のマルチスレッドプログラミング
Java のマルチスレッドプログラミング のクエストでは、学生の皆さんにマルチスレッドプログラミングが学べる CodeGym のシークレットセンターを紹介します。10 個のレベルを通じて Object クラス、String クラス、そして内部クラスの仕組みを学習します。スレッドの作り方や止め方、デッドロックとは何か、そして wait、notify、notifyAll メソッドそれぞれの機能についても学びます。jsoup と Swing を実際に使用するほか、オートパッキング (autopacking) とその実装に関する詳細も学びます。このクエストでは、最初のミニプロジェクトを作成するという大きなタスクに挑戦します。学習をスムーズに行うために、以下のようなステージに分けて進めていきます。テトリス、Snake、スペースシューター、そしてArkanoid といったゲームをコーディングします。チャットシステム、ATM エミュレータ―、そしてウェブスクレーパーといった複数のステージにおよぶ本格的なタスクにも挑戦します。
- レベル 1
ロック未解除 Object クラスのオブジェクトの構成: 各種メソッド (equals、hashCode、clone、wait、notify、toString()) - レベル 2
ロック未解除 String クラス: mutable、immutable、format メソッド、StringTokenizer クラス、StringBuilder クラス、StringBuffer クラス - レベル 3
ロック未解除 内部クラス (Map.Entry など) - レベル 4
ロック未解除 内部クラス、実装機能 - レベル 5
ロック未解除 スレッドの作成と停止: 各種メソッド (start、interrupt、sleep、yield) - レベル 6
ロック未解除 共有データへのアクセス: synchronized、volatile - レベル 7
ロック未解除 デッドロック。Wait、notify、notifyAll - レベル 8
ロック未解除 ThreadGroup クラス、ThreadLocal クラス, Executor インターフェース、ExecutorService インターフェース、Callable インターフェース。jsoup の使い方 - レベル 9
ロック未解除 オートボクシング (Autoboxing)、実装機能 - レベル 10
ロック未解除 演算子: 算術演算子、論理演算子、2 項演算子。Swing の使い方