강의

멘토링

로드맵

BEST
Programming

/

Programming Language

基礎タンタン!ひどく起動するJava - Part 2: OOPとJVM

ちょうど2つを'正しく'扱います。まさにオブジェクト指向プログラミングとJVM!そこに連結リストベースの線形データ構造もおまけにさせていただきます。

  • nullnull8537
자료구조
Java
이론 실습 모두
oop
jvm
data-structure

学習した受講者のレビュー

こんなことが学べます

  • オブジェクト指向プログラミング技術

  • OOP言語を使用して作成されたフレームワークを活用する方法

  • JVMの動作原理とhashCodeの実体

  • 接続リストベースの線形データ構造

文法ですか?重要です。しかし、その前にOOPの本質を知ることがより重要です。
そしてJVMについてもよく知らなければ競争力のある開発者になることができます!


「JVM(Java Virtual Machine)」まで
扱う理由🤔

📺 Part 2 受講希望者 皆さん是非ご覧ください! 📺

この講義をきちんと終えたら
専攻者に批判できる高い理解に基づいて
Javaを活用できます。

オブジェクト指向プログラミング

誰もがOOPについて話し、文法を学びます。しかし、いかにどのように活用し、どのような状況に適用すべきかを感知できないことが多いです。そこで学んだ文法を堪能できるミニプロジェクトを実習例として用意しました。

JVM(*Java Virtual Machine)

Javaで作成されたすべてのプログラムは、最終的にJVMで実行されます。結局のところ、JVMの深い理解は、Javaの深い理解であり、多くの企業が必要とする実力ある開発者の前提条件です。そのような状況で競争力を持たせるために、JVMについて惜しみなくお知らせします。

基本データ構造まで一度に

Javaでできることの中で最も一般的なことは、DB入出力とデータ活用です。そのためには、データ構造の理解は必須と言えます。そのため、この講義には代表的な線形データ構造である連結リストを含めました。

デザインパターン

Java文法とオブジェクト指向プログラミング手法に加えて、設計原則(デザインパターンの一部)まで提示します。これに基づいて、ただの文法だけを知り、Javaを扱うコーダーではなく、真の開発者に成長することができます。

※ここでちょっと! JVMとは?
Java Virtual Machine(JVM)は、Javaプログラムをコンピュータで実行するのに役立つ仮想マシンです。

学習対象


コードだけがうんざりしている
頭の中に残るものがないと感じたプログラミング入門者


バックエンド開発者として
就職したい就職準備生


たくさん書く言語だから
学んだが本質をよく知らない
1~2年目ジュニア開発者

学習ロードマップ🏃🏻

ひどく始まるJavaシリーズは合計4つの講義で行われます。
付録1,2レッスンは、Springバックエンド開発者として成長するために一緒に聞くと良いレッスンです🙂

  • Part 1: 基本的な文法、手続き型プログラミング

  • パート2:オブジェクト指向プログラミング+データ構造

  • Part 3: システム活用プログラムの作成

  • パート4:Spring Frameworkに進むための準備

  • 別途1:Webインフラストラクチャ技術の理解とDB

  • 別途 2: SQL 拡張


パート2は、オブジェクト指向プログラミング、データ構造、およびJVMについて学びます。特にJVMは、Spring frameworkベースのJavaバックエンドの実務開発者になるために不可欠です。プログラミング言語の文法とOOPを駆使し、システム運用まで考えられる能力のある開発者になるための基礎を尽くします。

この講義を聞いた後...

  • 継承と再定義を文法で理解するのではなく、フレームワークを実装するコア原理として理解し、本当にきちんとOOPを駆使することができます。


  • 問題(処理条件)を明確に分析し、どのような形でコード化するかを具体的に考えることができます。また、例作成過程で発生する各種エラーに自ら対応できる実力が生まれます。


  • JVM の GC (Garbage collector) がどのような原理で動作するかを正しく理解できます。また、参照者とインスタンスを完全に分離して考えることで、NullPointerException エラーに確実に対応できるようになります。

ひどく始まるJavaは
ただJava講義ではありません。

1⃣
入門段階で
JVM構造から学びます。

  • 入門段階であるにもかかわらず、JVM構造をはじめ、様々な構造的な理論を一緒に学びます。

    これにより、Javaで開発したアプリケーションの基本的な動作原理を理解できます。

  • これは、最終的に後日の実務開発者に成長した時、新入らない障害対応能力で結実結びます。


2⃣
抽象的な概念ではなく
本当に正しくハッシュコードを理解することができます。


  • Javaは、言語の性質上、クラスへの参照型としてインスタンスを識別します。この2つを一緒に使用する過程で、参照型変数をインスタンスとして同一視する問題が生じることがありますが、これらの問題を解決するために存在するHash codeの実体が何であるかを正しく知ることができます。

3⃣
設計(デザインパターン)まで扱う
入門講義

  • クラスの文法を知っていても、OOP設計を理解し、クラス間の関係を正しく定義できない場合は、Javaを正しく学んだとは言えません。

  • このレッスンでは、この問題を簡単に克服するために、クラスで使用されている例にデザインパターンをいくつか適用しました。

4⃣
整理された教育資料と板書📜

  • すべての授業内容はPPT資料に基づいていますが、まるでホワイトボードに板書をするかのように説明が続きます。

  • これにより、受講者は完成した1つの結果のみを見るのではなく、 構造が生まれた背景と理由全体の流れを総合的に理解することができます。

5⃣
目標は差別化された競争力と就職です💼

  • 本格的なJavaプログラミングを学ぶ前に、この授業が就職を目指していることを明確に伝えます。そして

    講師の長年の経験を踏まえ、明確な学習ロードマップと所要時間を提示します。

  • 間違った選択で時間を無駄にすることがないように、最初から適切な学習配分とスケジュールを確立するように誘導します。

6⃣
文法を超えて実用的な能力を
確保するためのデバッグ🐞

  • IntelliJデバッガの使い方を具体的に学びます。単純なPosition breakpointはもちろん、条件式を反映してより簡単に活用する方法も扱います。

  • JVMで各インスタンスを一意に識別する目的で付与されたObjectIDを利用して、Deep copyとShallow copyを区別する方法など、実質的なデバッグ方法を体験できます。

7⃣
真のOOPプログラミングを直接体験できる
続く実践問題提供🛠

  • 授業に学んだ内容をすぐに活用してみるために、様々な実習問題を提供します。

  • 手続き型プログラミング手法で作成されたコードをオブジェクト指向的にリファクタリングする過程を実習で直接経験し、この過程で学習した内容の大部分を実際に活用します。

練習環境

  • オペレーティングシステムとバージョン(OS): Windows 11

  • 使用ツール: IntelliJ IDEA 2024.2.3 (Community Edition)

  • PC仕様:Windows 11 OSとIntelliJが無理なく動作できるレベル

学習資料

  • 授業に使用されたPPT資料(PDFファイルで提供)

  • 完全な例と必須の練習問題正解(Zip圧縮ファイルとして提供)

選手の知識と注意事項

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ひどく始まるJava - Part 1を終了して次のステップに進む人

  • 真のオブジェクト指向プログラミングの原理を知りたい方

  • JVMがインスタンスを管理する方法と内部構造について知りたい人

  • Javaの深い理解を体験したい開発者

前提知識、
必要でしょうか?

  • ひどく始まるJava - Part 1

  • 広く浅く覚えてコムボール専攻者になる

こんにちは
です。

38,970

受講生

2,324

受講レビュー

1,125

回答

4.9

講座評価

25

講座

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^  

カリキュラム

全体

77件 ∙ (20時間 14分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

36件

5.0

36件の受講レビュー

  • ko56420270499님의 프로필 이미지
    ko56420270499

    受講レビュー 1

    平均評価 5.0

    5

    95% 受講後に作成

    Nhờ những nguyên tắc sâu sắc mà bạn đã dạy tôi từng điều một, một lần nữa tôi nhận ra rằng thế giới không hoạt động như phép thuật. Tôi phải mất một thời gian để hoàn thành khóa học vì tôi cố gắng hiểu kỹ nội dung nhưng tôi rất hài lòng vì tôi đã học được rất nhiều từ nó. Cảm ơn

    • nullnull8537
      知識共有者

      와우~! 강렬한 평가 고맙습니다. 개발자는 그 마법을 구현해야 할 사명을 가진 사람이라 할 수 있지 않을까 싶습니다. 멋진 의견 감사합니다. :)

  • heemanglee님의 프로필 이미지
    heemanglee

    受講レビュー 3

    平均評価 5.0

    5

    36% 受講後に作成

    Tôi đã học Java qua sách hoặc ở cấp độ học thuật. Trong quá trình nhìn nhận bản thân, tôi chỉ học cách sử dụng Java, nhưng tôi đang sử dụng nó mà không biết nó hoạt động như thế nào. Sau khi nghe bài giảng, tôi phát hiện ra rằng có một số điều tôi đã biết rồi, nhưng nó cũng rất hay vì nó bao gồm những điều tôi mơ hồ biết và nhiều chủ đề không thể nghe được trong các bài giảng chỉ dạy cách sử dụng Java. . Tôi đang lắng nghe kỹ những câu chuyện của Hoon và nội dung anh ấy nói về (?) vì nó khá thú vị. Có tài liệu giảng dạy nhưng dễ hiểu hơn vì chúng giải thích mọi thứ bằng bút trong thời gian thực! Hôm qua trên live bạn có nói phần 3 có thể ra mắt vào cuối tháng 12 nên mình sẽ đợi! Cảm ơn bạn vì bài giảng tuyệt vời.

    • nullnull8537
      知識共有者

      May mắn thay, có vẻ như phong cách bài giảng đã đúng. Điều này có thể khiến bạn không thoải mái nhưng cảm ơn bạn đã coi đó là một trò đùa. Nếu bạn hiểu các nguyên tắc cơ bản, bạn có thể trải nghiệm mức độ hiểu biết khiến ngữ pháp thu được có vẻ tự nhiên. Tôi chân thành hy vọng và ủng hộ bạn để điều đó xảy ra. Chúng tôi cũng sẽ chuẩn bị tốt Phần 3 và phát hành nó. Cảm ơn. :)

  • dengo님의 프로필 이미지
    dengo

    受講レビュー 13

    平均評価 4.5

    5

    29% 受講後に作成

    Như mong đợi. Đặc biệt, JVM là một thế giới mới. Cảm ơn bạn đã tạo ra một khóa học tuyệt vời. Tôi bướng bỉnh và mong chờ phần 3!!

    • daalzzwi님의 프로필 이미지
      daalzzwi

      受講レビュー 2

      平均評価 5.0

      5

      13% 受講後に作成

      Hơi khó một chút nhưng tôi thích nó! Bài giảng Java đầu tiên "Tôi đang lo lắng" Mình đã đăng bài ở mục này rồi, bạn xem nhé!

      • nullnull8537
        知識共有者

        Khi tôi mở một khóa học mới, tôi hồi hộp chờ đợi buổi ôn tập khóa học đầu tiên. May mắn thay, cảm ơn bạn đã đánh giá tốt. :)

    • weegoto1038님의 프로필 이미지
      weegoto1038

      受講レビュー 3

      平均評価 5.0

      修正済み

      5

      100% 受講後に作成

      Tôi nhớ lại khi lần đầu tiếp xúc với Java ở trường, tôi đã làm một chương trình chat thời gian thực mà chẳng biết gì cả. Lúc đó tôi không hiểu tại sao từng dòng code lại chạy như vậy, chỉ nghĩ rằng may mắn là nó chạy được thôi Nhưng khi nghe khóa học này và nhìn lại thời gian đó, tôi mới cảm nhận được mình đã học hỏi trong bao nhiêu thử nghiệm và sai lầm. Giá như lúc đó tôi có thể nghe được khóa học này thì tốt biết mấy. Tôi đã nghe bài giảng rất thú vị, và thậm chí cảm thấy mới mẻ như thể đang học lần đầu vậy. Trước khi chuyển sang phần 3, tôi sẽ ôn tập lại một lần nữa 🫡

      • nullnull8537
        知識共有者

        Vẫn còn thời gian rõ ràng. Với sự nhiệt huyết đến mức hoàn thành khóa học như thế này, tôi nghĩ bạn sẽ nhanh chóng bổ sung những điểm thiếu sót của mình. Việc thử và sai cũng là điều tôi đang trải qua. Có lẽ chúng ta sẽ không thể tránh xa việc thử và sai ngay cả khi đến cuối đời. Tuy nhiên, tôi nghĩ chỉ cần nỗ lực hết mình như thế này cũng đã đủ rồi. Nếu tiếp tục như bây giờ, chắc chắn sẽ có kết quả tốt đẹp. Tôi sẽ ủng hộ bạn. Cảm ơn bạn. :)

    ¥8,000

    nullnull8537の他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!