Java ORM Standard JPA Programming - Basics
For those who are new to JPA or who use JPA in practice but lack basic theory, By learning the basic theory of JPA solidly, even beginners can confidently use JPA in practice.

News
52 articles
Hello everyone
The Database Design Part 1 course has finally opened.To celebrate the opening, I'm offering 30% off all my courses 🙂
Title: Kim Young-han's Practical Database Design Part 1 – Complete Mastery of Modern Data Modeling
Number of lectures: 83
Lecture Duration: 16 hours 11 minutes
Lecture PDF materials: approximately 400 pages
Link: https://inf.run/SEdxb
[Course Introduction]
Databases are the foundation of all applications.
However, if not designed properly, projects quickly hit their limits, and maintenance becomes hell.This course doesn't simply teach you how to create tables, but systematically shows you modern database design methods that work in real-world practice. And I've packed this course with the results of my extensive hands-on experience and long deliberation.
[Key Lecture Points]
Conceptual → Logical → Physical Modeling
Master DB design completely with a 3-step approach.Design know-how you can use immediately in practice
We don't just stay in theory, but use a shopping mall project as an example.Avoiding the Pitfalls of Poor Design
Through hands-on practice, you'll understand why ERDs are important, why normalization is necessary, and when denormalization should be applied.The Essence of Key and Relationship Design
We cover natural keys vs surrogate keys, one-to-one, one-to-many, and many-to-many relationships, and identifying vs non-identifying relationships in depth.Reflecting the Latest DB Design Trends
We don't stay stuck in textbooks from decades ago, but present modern data modeling methodologies.[What You'll Learn]
Requirements Analysis and Core Entity Extraction
ERD Creation and Terminology Dictionary Management
Normalization (1NF ~ BCNF) and Its Limitations
Index and Performance-Considered Physical Modeling
Shopping Mall Project Complete DB Design Practice
[Target Audience]
Developer: Someone who wants to design a proper database before writing code
Planner/Analyst: Those who want to fundamentally understand data flow and structure
Job seekers: Those who want to demonstrate differentiated DB design capabilities in interviews
Junior Developer: Those who want to learn design principles that can be applied immediately in practice
Senior Developer/Lead: Those who want to improve the quality of their team's database design
[Complete Course Curriculum]
1. Course Introduction and Class Materials
* 1-A. Windows - MySQL Installation Guide
* 1-B. macOS - Installation Guide
2. The Importance of Design
* The First Step in Database Design
* The Disaster Caused by Poor Design
* 3 Stages of Design - Conceptual, Logical, Physical
* Summary
3. Conceptual Modeling
* Requirements analysis and identification of key elements
* What is an entity?
* Entity Classification 1
* Entity Classification 2
* Properties and Identifiers
* Cardinality and Participation
* Complete the ERD
* Related Entity - Resolving Many-to-Many Relationships
* Glossary
* Summary
4. Conceptual Modeling - Practice
* Practical Requirements Analysis
* Practical Conceptual Modeling - Getting Started
* Practical Conceptual Modeling - ERD Creation
* Practical Conceptual Modeling - Glossary Creation
* Summary
5. Logical Modeling 1 - Keys
* Various types of keys
* Natural Key vs Surrogate Key1 - Natural Key
* Natural Key vs Surrogate Key2 - Surrogate Key
* Natural Key vs Surrogate Key3 - Performance Trade-offs
* Natural Key vs Surrogate Key4 - Modern Design
* Composite key design
* Many-to-Many Relationships and Composite Keys
* Summary
6. Logical Modeling 2 - Participation and One-to-Many Relationships
* Logical Modeling - Relationships
* Participation
* One-to-Many (1:N) Many-to-One (N:1) Relationships - Foreign Key Position 1
* One-to-Many (1:N) Many-to-One (N:1) Relationships - Foreign Key Position 2
* One-to-Many (1:N) Many-to-One (N:1) Relationships - Joins and Data Inflation
* Summary
7. Logical Modeling 3 - One-to-One, Many-to-Many Relationships
* One-to-one (1:1) relationship - Start
* One-to-one (1:1) relationship - Foreign key location
* One-to-One (1:1) Relationship - [Practice] Flexibility of Relationship Extension
* One-to-one (1:1) relationship - FK in the main table
* Many-to-Many (M:N) Relationship - Limitations of the Relational Model
* Many-to-Many (M:N) Relationship - Junction Table
* Many-to-Many (M:N) Relationship - Attributes
* Many-to-Many (M:N) Relationship - Conceptual and Logical Modeling
* Summary
8. Logical Modeling 4 - Identifying Relationships, Non-Identifying Relationships
* Identifying Relationship vs Non-Identifying Relationship - Concepts
* Identifying Relationship vs Non-Identifying Relationship - One-to-Many (1:N)
* Problems with Identifying Relationships
* Identifying Relationship vs Non-Identifying Relationship - SQL Queries, Performance
* Identifying Relationship vs Non-Identifying Relationship - One-to-One (1:1)
* Identifying Relationship vs Non-Identifying Relationship - Many-to-Many (M:N) 1
* Identifying Relationship vs Non-Identifying Relationship - Many-to-Many (M:N) 2
* Identifying Relationships vs Non-Identifying Relationships - Modern Design Trends
* Summary
9. Logical Modeling - Practice
* Practical Logical Modeling - Getting Started
* Practical Logical Modeling - ERD Creation
10. Normalization
* Normalization - Start
* First Normal Form
* Second Normal Form
* Third Normal Form
* BCNF Normal Form
* Practice and Normalization
* Summary
11. Physical Modeling
* Physical Modeling Overview
* Table and Column Conversion Rules 1 - Basic Rules
* Table and Column Conversion Rules 2 - Abbreviations and Singular/Plural
* Data Type 1 - Character, Number, PK Type
* Data Types 2 - Date and Time Types
* Denormalization
* Table Definition Document
* Summary
12. Physical Modeling - Practice
* Physical Modeling - Practice Start
* Index Design - Practice
* Denormalization - Practice
* Shopping Mall Table Definition Document
* Creating Shopping Mall DDL and DB
* Physical Model - Automatic ERD Generation
* Shopping mall feature check 1
* Shopping mall feature check 2
* Summary
Thank you.
Hello everyone
The Database Design Part 1 course is finally ready to open.The Design Part 1 to be released this time is scheduled to launch between September 16th and September 19th.
Database Roadmap - Course Release Schedule
Design Part 1 – Complete Mastery of Modern Data Modeling - Expected release in mid-September
Design Part 2 - Mastering Practical Design Patterns and Application Techniques - Scheduled for release at the end of 2025
Performance Optimization and Advanced Features - Scheduled for release in early 2026
Title: Kim Young-han's Practical Database Design Part 1 – Complete Mastery of Modern Data Modeling
Number of lectures: 83
Lecture Duration: 16 hours 11 minutes
Lecture PDF materials: approximately 400 pages
Course Introduction
Databases are the foundation of all applications.
However, if not designed properly, projects quickly hit their limits, and maintenance becomes hell.This course doesn't simply teach you how to create tables, but systematically shows you modern design methods that work in real-world practice. And I've packed this course with the results of my extensive hands-on experience and long deliberation.
Key Points of the Lecture
* Conceptual → Logical → Physical Modeling
Completely master DB design with a 3-step approach.
* Design know-how for immediate practical use
We don't just stay in theory, but use a shopping mall project as an example.
* Avoiding the Pitfalls of Poor Design
You'll realize through hands-on practice why ERD is important, why normalization is necessary, and when denormalization should be applied.
* The Essence of Key and Relationship Design
Natural Key vs Surrogate Key, One-to-One, One-to-Many, Many-to-Many relationships, and Identifying vs Non-Identifying relationships are covered in depth.
* Reflecting the Latest DB Design Trends
It presents modern data modeling methodologies without being stuck in textbooks from decades ago.
What You'll Learn
Requirements Analysis and Core Entity Derivation
ERD Creation and Terminology Dictionary Management
Normalization (1NF ~ BCNF) and Its Limitations
Index and Performance-Considered Physical Modeling
Shopping Mall Project Complete DB Design Practice
Target Audience
Developer: Someone who wants to design a proper database before writing code
Planner/Analyst: Those who want to fundamentally understand data flow and structure
Job seekers: Those who want to demonstrate differentiated DB design capabilities in interviews
Junior Developer: Those who want to learn design principles that can be applied immediately in practice
Senior Developer/Lead: Those who want to improve the quality of their team's database design
Complete Course Curriculum
1. Course Introduction and Class Materials
* 1-A. Windows - MySQL Installation Guide
* 1-B. macOS - Installation Guide
2. The Importance of Design
* First Steps in Database Design
* The disaster caused by poor design
* 3 Stages of Design - Conceptual, Logical, Physical
* Summary
3. Conceptual Modeling
* Requirements analysis and identification of key elements
* What is an entity?
* Entity Classification 1
* Entity Classification2
* Properties and Identifiers
* Cardinality and Participation
* Complete the ERD
* Related Entity - Resolving Many-to-Many Relationships
* Glossary
* Summary
4. Conceptual Modeling - Practice
* Practical Requirements Analysis
* Practical Conceptual Modeling - Getting Started
* Practical Conceptual Modeling - ERD Creation
* Practical Conceptual Modeling - Glossary Creation
* Summary
5. Logical Modeling 1 - Keys
* Various types of keys
* Natural Key vs Surrogate Key1 - Natural Key
* Natural Key vs Surrogate Key2 - Surrogate Key
* Natural Key vs Surrogate Key3 - Performance Trade-offs
* Natural Key vs Surrogate Key4 - Modern Design
* Composite key design
* Many-to-Many Relationships and Composite Keys
* Summary
6. Logical Modeling 2 - Participation and One-to-Many Relationships
* Logical Modeling - Relationships
* Participation
* One-to-Many (1:N) Many-to-One (N:1) Relationships - Foreign Key Position 1
* One-to-Many (1:N) Many-to-One (N:1) Relationships - Foreign Key Position 2
* One-to-Many (1:N) Many-to-One (N:1) Relationships - Joins and Data Multiplication
* Summary
7. Logical Modeling 3 - One-to-One, Many-to-Many Relationships
* One-to-one (1:1) relationship - Start
* One-to-one (1:1) relationship - Foreign key location
* One-to-One (1:1) Relationship - [Practice] Flexibility of Relationship Extension
* One-to-one (1:1) relationship - FK in the main table
* Many-to-Many (M:N) Relationship - Limitations of the Relational Model
* Many-to-Many (M:N) Relationship - Junction Table
* Many-to-Many (M:N) Relationship - Attributes
* Many-to-Many (M:N) Relationship - Conceptual and Logical Modeling
* Summary
8. Logical Modeling 4 - Identifying Relationships, Non-Identifying Relationships
* Identifying Relationship vs Non-Identifying Relationship - Concepts
* Identifying Relationship vs Non-Identifying Relationship - One-to-Many (1:N)
* Problems with Identifying Relationships
* Identifying Relationship vs Non-Identifying Relationship - SQL Queries, Performance
* Identifying Relationship vs Non-Identifying Relationship - One-to-One (1:1)
* Identifying Relationship vs Non-Identifying Relationship - Many-to-Many (M:N) 1
* Identifying Relationship vs Non-Identifying Relationship - Many-to-Many (M:N) 2
* Identifying Relationships vs Non-Identifying Relationships - Modern Design Trends
* Summary
9. Logical Modeling - Practice
* Practical Logical Modeling - Getting Started
* Practical Logical Modeling - ERD Creation
10. Normalization
* Normalization - Start
* First Normal Form
* Second Normal Form
* Third Normal Form
* BCNF Normal Form
* Practice and Normalization
* Summary
11. Physical Modeling
* Physical Modeling Overview
* Table and Column Conversion Rules 1 - Basic Rules
* Table and Column Conversion Rules 2 - Abbreviations and Singular/Plural
* Data Type 1 - Character, Number, PK Type
* Data Types 2 - Date and Time Types
* Denormalization
* Table Definition Document
* Summary
12. Physical Modeling - Practice
* Physical Modeling - Practice Start
* Index Design - Practice
* Denormalization - Practice
* Shopping Mall Table Definition Document
* Creating Shopping Mall DDL and Database
* Physical Model - Automatic ERD Generation
* Shopping mall feature check 1
* Shopping mall feature check 2
* Summary
Thank you.
Hello, everyone
The two introductory database fundamentals lectures have finally been launched: Now available.
We've decided to offer an introductory database course for free so that even beginners can learn databases without any pressure.
Kim Young-han's Practical Database Roadmap
Practical Database Introduction by Kim Young-han - Step-by-Step from SQL (Now Open)
Kim Young-han's Practical Database - Basic Course (Now Open)
Kim Young-han's Practical Database - Design Edition (Scheduled for Second Half of 2025)
Kim Young-han's Practical Database - Performance Optimization and Advanced Features (Scheduled for Second Half of 2025)
Target Audience
For your reference, this lecture has been designed to be accessible not only to developers but also to planners and data analysts.
Developer: Juniors, non-majors, and job seekers who want to build a solid foundation in database basics
Planner/Marketer: For those who need data-driven decision making
Data Analyst: Beginner who wants to build SQL skills
[Introducing the Roadmap from a Developer's Perspective]
If you're a developer, I recommend following the entire roadmap.
Many developers will relate to this: truly outstanding applications are ultimately built on well-designed databases. This is because there are problems that simply cannot be solved by application code alone—they lie within the database layer. This roadmap will fill in that other half of essential expertise, elevating you to the next level as a developer.
Beginner Course: First, build a foundation in databases and SQL basics through the 'Beginner Course'.
Basic Course: The basic course covers essential database fundamentals that every junior developer must know.
You'll gain the ability to solve any complex business requirement using SQL through joins, subqueries, unions, and case statements.
Build a solid foundation in essential SQL performance optimization for real-world applications by thoroughly understanding how indexes work.
You can develop stable applications that prevent data corruption by gaining a deep understanding of transactions and data integrity.
Design Course: The design course will elevate you to a higher level of developer. You'll learn how good database design determines an application's maintainability and scalability, and develop the ability to systematically model complex real-world requirements.
Performance Optimization and Advanced Features: Performance Optimization and Advanced Features is the final gateway to becoming a senior developer capable of handling large-scale traffic. You will master advanced techniques to identify database performance bottlenecks that no one else can solve and push your service to its limits.
By mastering this roadmap, you'll grow into a truly skilled developer who goes beyond simply implementing features—gaining deep understanding and optimization skills for both applications and databases, enabling you to find solutions to any challenging situation.
[Introduction to Roadmap from a Planning and Data Analyst Perspective]
If you're a planner or data analyst, I recommend taking the introductory course and continuing through the basic course.
Beginner Course: By learning the basics of SQL through the beginner course, you'll gain the speed and independence to instantly get the answers you need, no longer having to request data and wait.
Basic Course: In the Basic Course, we take one step further.
You'll enhance the depth of your analysis by using advanced SQL techniques like joins, subqueries, unions, and CASE statements to combine scattered data from multiple sources and reprocess it according to your own criteria.
With just these two courses, you'll become a key talent capable of improving services based on data, persuading organizations, and communicating effectively with development teams.
If you want to directly lead data-driven products, taking the advanced 'Design' course to deepen your understanding of data structures could be a great choice.
This roadmap's introductory and foundational sections will completely transform the way planners and analysts work with data.
Beginner Course - Section Contents
1. Course Introduction and Study Materials
2. Introduction to Databases
3. Starting the Database
4. SQL - Data Management
5. SQL - Retrieval and Sorting
6. SQL - Data Processing
7. SQL - Aggregation and Grouping
Beginner Course - Section Contents
1. Course Introduction and Study Materials
2. Join 1 - Inner Join
3. Join 2 - Outer Joins and Other Joins
4. Subquery
5. UNION
6. CASE Statement
7. 뷰(View)
8. Index1
9. Index 2
10. Data Integrity
11. Transaction
12. Stored Procedures, Functions, and Triggers
I've gathered your questions about roadmap progress and will answer them.
1. Basic Order of Progressing Through the Database Roadmap
- The basic order is Java -> Database -> Spring -> Spring Boot and JPA application.
2. Recommended Order for Progressing Through the Database Roadmap
The most effective learning sequence is to study the introductory and basic database courses right before Spring DB1 in the Spring roadmap.
Therefore, you will learn in the following order.
- ...
- Spring MVC2
- Database Fundamentals
- Database Fundamentals
- Spring DB Part 1
- Spring DB Part 2
- ...
We recommend completing at least the Database Fundamentals course before proceeding with the Spring Boot and JPA application roadmap.
I'll reorganize and let you know again about the database design section, performance optimization, and advanced features once they're released.
3. Will the course be based on MySQL or Oracle?
The hands-on exercises focus on MySQL, but the lecture content emphasizes universal knowledge that covers not only MySQL but relational database management systems (RDBMS) in general. Therefore, the goal is to achieve a broad understanding that isn't limited to any specific database.
To use an analogy, in this course we'll learn how to drive a car called MySQL. But rather than simply learning how to operate one specific car model, we'll focus on mastering the fundamental driving principles—like accelerators, brakes, and steering wheels—that apply to any car (RDBMS). These core concepts of RDBMS will be beneficial when working with other RDBMS systems as well.
Thank you.
hello everyone
Finally, the two lectures on database introduction and basics are ready to open.
Thank you for waiting and supporting us for a long time!
The release date is expected to be between July 30th and August 1st.
Kim Young-han's Practical Database Roadmap
Kim Young-han's Practical Database Introduction - Step by Step from SQL (Open)
Kim Young-han's Practical Database - Basics (Open)
Kim Young-han's Practical Database - Design (Scheduled for the second half of 2025)
Kim Young-han's Practical Database - Performance Optimization and Advanced Features (Scheduled for the second half of 2025)
Lecture target
Please note that this lecture has been designed to be easy to understand for not only developers but also planners and data analysts.
Developer : Juniors, non-majors, job seekers who want to build a solid foundation in database fundamentals
Planners/Marketers : Those who need data-driven decision making
Data Analyst : Beginners who want to build their SQL skills
[Introduction to the roadmap from a developer's perspective]
If you are a developer, I recommend following the entire roadmap.
As many developers will agree, great applications are born on top of well-designed databases. This is because there are problems in the database area that can never be solved with application code alone. This roadmap will fill in the remaining half of the core competencies and make you a higher-level developer.
Introduction : First, we will cover the basics of databases and SQL through the 'Introduction'.
Basics : The Basics covers the basic database skills that are essential for junior developers.
You will gain the ability to solve any complex business requirement in SQL using joins, subqueries, unions, and case statements.
By properly understanding the operating principles of indexes, you will learn the fundamentals of SQL performance optimization essential for practical use.
A deep understanding of transactions and data integrity enables you to build robust applications that don't corrupt data.
Design : The design section will help you become a developer at the next level. You will learn how good database design determines the maintainability and scalability of applications, and develop the ability to systematically model complex requirements that you will encounter in practice.
Performance Optimization and Advanced Features: Performance Optimization and Advanced Features is the final gateway to becoming an advanced developer handling high-volume traffic. You will master advanced techniques to find database performance bottlenecks that no one else can solve and push the limits of your services.
By mastering this roadmap, you will grow beyond being a “simple developer who implements features” to a truly capable developer who deeply understands and optimizes both the application and the database, and can find a solution to any problem.
[Introducing the roadmap from a planning and data analyst perspective]
If you are a planner or data analyst, I recommend listening to the introductory and basic versions.
Getting Started: Once you master the fundamentals of SQL with Getting Started, you'll have the speed and independence to get the answers you need immediately, without having to request data and wait.
Basics : In the Basics, we go one step further.
By using advanced SQL such as joins, subqueries, unions, and case statements, you can combine data scattered in various places, reprocess it according to your own criteria, and add depth to your analysis.
These two courses alone will transform you into a key player who can improve services based on data, persuade organizations, and communicate smoothly with development teams.
If you want to lead a data-based product yourself, it may be a good idea to take the 'Design' course as an advanced course to broaden your understanding of data structures.
For planners and analysts, this introductory and fundamentals roadmap will completely change the way you work with data.
Introduction - Section Table of Contents
1. Lecture introduction and teaching materials
2. Introduction to the database
3. Start the database
4. SQL - Data Management
5. SQL - Query and Sorting
6. SQL - Data Processing
7. SQL - Aggregation and Grouping
Basics - Section Table of Contents
1. Lecture introduction and teaching materials
2. Join 1 - Inner Join
3. Join 2 - Outer Join and Other Joins
4. Subquery
5. UNION
6. CASE statement
7. View
8. Index 1
9. Index 2
10. Data Integrity
11. Transaction
12. Stored Procedures, Functions, and Triggers
We've compiled and answered questions about the roadmap's progress.
1. Basic order of database roadmap progress
- The basic order is Java -> Database -> Spring -> Spring Boot and JPA utilization.
2. Recommended order of database roadmap progress
The most effective progression is to study the Introduction to Databases and the Fundamentals right before Spring DB1 on the Spring roadmap.
So, the learning process is as follows:
- ...
- Spring MVC2
- Introduction to Databases
- Database Basics
- Spring DB Part 1
- Spring DB Part 2
- ...
When proceeding with the roadmap for utilizing Spring Boot and JPA, it is recommended that you listen to at least the database basics and proceed.
We will provide a more comprehensive overview of database design, performance optimization, and advanced features once they are released.
3. Are you going to learn based on MySQL? Or on Oracle?
Although the practical training focuses on MySQL, the lecture content focuses on imparting general knowledge that covers not only MySQL but also the entire RDBMS. Therefore, the goal is to gain a broad understanding that is not tied to a specific database.
To use an analogy, in this lecture we will learn how to drive a car called MySQL. However, we will not simply learn how to operate a specific model of car, but will focus on learning the basic driving principles (core concepts of RDBMS) that you need to know no matter what car (RDBMS) you drive, such as the accelerator, brake, and steering wheel. So it will be of great help when dealing with other RDBMS.
thank you
Hello everyone. Finally, we have opened the last lecture of the Java Roadmap, Advanced Java Part 3.
Link: https://inf.run/iZKKT
Kim Young-han's Practical Java - Advanced Part 3, Lambda, Stream, Functional Programming
Lecture time: 16 hours 40 minutes
Number of lectures: 97
Lecture PDF Material: 387 pages
[Course Introduction]
Learn new syntax and techniques frequently used in modern Java, such as lambda, stream, and functional programming. In this lecture, I will teach you how to apply these techniques in practice, deeply understand them, and utilize them, beyond simply knowing them.
[Summary of lecture contents]
The main lecture contents are as follows.
1. Why Lambda is needed
Learn how lambdas play a vital role in modern Java, both for clean, concise code and for easily leveraging advanced features like parallel processing.
2. Lambda
You will learn the definition, syntax, and usage tips of lambda through real code examples. You will clearly understand how it differs from the existing method and what makes it attractive.
3. Functional interface
Functional interface, an essential concept used with lambda! We will tell you why functional programming is possible and how to easily utilize various functional interfaces built into the Java standard API.
4. Using Lambda
How can we apply lambda in practical code? Let's learn the core usage of lambda to simplify repetitive patterns and complex logic with examples.
5. Lambda vs Anonymous Class
We compare and analyze in which situations lambdas are more efficient and in which cases anonymous classes should be used.
6. Method Reference
The method reference syntax added in Java 8 takes functional programming to the next level of cleanliness. We will explain how the method reference syntax works and what are some practical examples of its use.
7. Stream API1 - Basics
The Stream API presents a new paradigm for handling Java collections with lambdas. We will organize the stream structure and basic usage in an easy-to-understand manner for beginners.
8. Stream API2 - Features
Let's take a closer look at the core features provided by streams, such as filtering, mapping, sorting, and reducing. You can learn how to write code more intuitively and concisely.
9. Stream API3 - Collector
Learn the concept of Collector, which is utilized in streams for efficient data collection and processing. You can learn essential skills in practice, such as collect(), grouping, and partitioning.
10. Optional
Let's make proper use of Optional, which cleanly resolves null handling. We will cover various methods to prevent NPE problems that are frequent in practice, such as isPresent(), orElse(), and orElseThrow().
11. Default method
Let's take a look at a new aspect of Java interfaces: default methods.
Learn the correct usage practices, along with how to maintain compatibility when extending interfaces.
12. Parallel Streams
Parallel processing for high performance! Learn about ForkJoin pools, multi-core utilization know-how through stream APIs, and precautions that may arise in parallel streams.
13. Functional Programming
All features added after Java 8, such as lambda, stream API, and Optional, reflect the functional programming paradigm. We will teach you how to write more efficient code by combining object-oriented languages and the functional paradigm.
thank you
Hello everyone, after two years we have finally completed the Java roadmap.
The last lecture of the Java roadmap , Kim Young-han's Practical Java - Advanced Part 3, Lambda, Stream, Functional Programming
The opening schedule has been confirmed to be between Tuesday, March 25th and Friday, March 28th.
Lecture time: 16 hours 40 minutes
Number of lectures: 97
Lecture PDF Material: 387 pages
[Course Introduction]
Learn new syntax and techniques frequently used in modern Java, such as lambdas, streams, and functional programming.
In this lecture, I will teach you how to apply and utilize technologies such as lambda, streams, and functional programming in practice, beyond simply knowing them.
[Summary of lecture contents]The main lecture contents are as follows.
1. Why Lambda is needed
Learn how lambdas play a vital role in modern Java, both for clean, concise code and for easily leveraging advanced features like parallel processing.
2. Lambda
You will learn the definition, syntax, and usage tips of lambda through real code examples. You will clearly understand how it differs from the existing method and what makes it attractive.
3. Functional interface
Functional interfaces, an essential concept used with lambda!
We will explain why functional programming is possible and how to easily utilize the various functional interfaces built into the Java standard API.4. Using Lambda
How can we apply lambdas in real-world code?
Let's learn the core usage of lambda to simplify repetitive patterns and complex logic with examples.5. Lambda vs Anonymous Class
We compare and analyze in which situations lambdas are more efficient and in which cases anonymous classes should be used.
6. Method Reference
The method reference syntax added in Java 8 takes functional programming to the next level of cleanliness. We will explain how the method reference syntax works and what are some practical examples of its use.
7. Stream API1 - Basics
The Stream API presents a new paradigm for handling Java collections with lambdas. We will organize the stream structure and basic usage in an easy-to-understand manner for beginners.
8. Stream API2 - Features
Let's take a closer look at the core features provided by streams, such as filtering, mapping, sorting, and reducing. You can learn how to write code more intuitively and concisely.
9. Stream API3 - Collector
Learn the concept of Collector, which is utilized in streams for efficient data collection and processing. You can acquire skills essential for practical work, such as collect(), grouping, and partitioning.
10. Optional
Let's make proper use of Optional, which cleanly resolves null handling. We will cover various methods to prevent NPE problems that are frequent in practice, such as isPresent(), orElse(), and orElseThrow().
11. Default method
Let's take a look at a new aspect of Java interfaces: default methods.
Learn the correct usage practices, along with how to maintain compatibility when extending interfaces.
12. Parallel Streams
Parallel processing for high performance! Learn about ForkJoin pools, multi-core utilization know-how through stream APIs, and precautions that may arise in parallel streams.
13. Functional Programming
All features added after Java 8, such as lambda, stream API, and Optional, reflect the functional programming paradigm. We will teach you how to write more efficient code by combining object-oriented languages and the functional paradigm.
[Full Table of Contents]
1. Why Lambda is needed
* Project environment configuration
* Why Lambda is Needed 1
* Why Lambda is Needed 2
* Why Lambda is Needed 3
* Function vs Method
* Lambda start2. Lambda
* Lambda definition
* Functional interface
* Lambda and Signature
* Lambda and omission
* Lambda propagation
* Higher order functions
* Problem and solution 1
* Problem and solution 2
* Problem and solution 3
* organize3. Functional interface
* Functional interfaces and generics1
* Functional interfaces and generics2
* Lambda and target type
* Basic functional interface
* Specialized functional interface
* Other functional interfaces
* Problems and solutions
* organize4. Using Lambda
* Create a filter 1
* Create a filter 2
* Map Creation 1
* Map Making 2
* Using filters and maps1
* Using filters and maps 2
* Create a stream 1
* Create a stream 2
* Create a stream 3
* Create a stream 4
* organize5. Lambda vs Anonymous Class
* Lambda vs Anonymous Classes1
* Lambda vs Anonymous Class2
* organize6. Method Reference
* Why method references are needed
* Method Reference 1 - Start
* Method Reference 2 - Parameter 1
* Method Reference 3 - Reference an instance method of an arbitrary object
* Method Reference 4 - Utilization 1
* Method Reference 5 - Utilization 2
* Method Reference 6 - Parameter 2
* organize7. Stream API1 - Basics
* Start Stream API
* What is the Stream API?
* Pipeline configuration
* Delayed operation
* Delayed computation and optimization8. Stream API2 - Features
* Create a stream
* Intermediate operations
* FlatMap
* Optional brief description
* Final operation
* Basic specialized stream9. Stream API3 - Collector
* Collector 1
* Collector 2
* Downstream collector 1
* Downstream collector 2
* organize10. Optional
* Why optionals are needed
* Creating an Optional and obtaining its value
* Optional value handling
* Immediate and delayed assessment1
* Immediate and delayed evaluation2
* Immediate and delayed evaluation 3
* orElse() vs orElseGet()
* Practical Use 1 - Finding Address
* Practical Application 2 - Delivery
* Optional - Best Practice
* organize11. Default method
* Why default methods appeared
* Introducing the default method
* Correct usage of default methods
* organize12. Parallel Streams
* Single stream
* Use thread directly
* Use thread pool
* ForkJoin pattern
* ForkJoin Framework 1 - Introduction
* ForkJoin Framework 2 - Work Stealing
* Work stealing algorithm
* ForkJoin Framework 3 - Common Pool
* Java Parallel Streams
* Precautions when using parallel streams
* Use separate pool
* organize13. Functional Programming
* Programming paradigm
* What is functional programming?
* Java and Functional Programming 1
* Java and Functional Programming 2
* Java and Functional Programming 3
* organizethank you
Hello everyone^^! Java Advanced Part 2 lecture is finally open.
Lecture link: https://inf.run/puD14
Kim Young-han's Practical Java - Advanced Part 2
* Lecture time: 21 hours 35 minutes
* Number of lectures: 100 lectures
* Lecture PDF materials: Approximately 400 pages
[Course Introduction]The goal is to completely master I/O, networking, reflection, and annotations from the basics to the level required for practical use.
And this lecture is particularly code and example-oriented.
We will use all the things we have learned so far - Java Beginner, Basic, Intermediate 1, 2, Advanced 1 - up to multi-threading - while creating various examples such as member management through files, chat, and web application servers.
So, through the Java roadmap, you can learn in depth how the Java content you have learned so far is actually utilized through example code.
My goal is not simply to teach Java grammar, but to foster competent developers with solid Java fundamentals necessary for practical work.
To this end, we are working on a deep and systematic Java roadmap. Please look forward to it.
thank you
hello everyone
Kim Young-han's Practical Java - Advanced Part 2, I/O, Network, Reflection
The opening schedule has been confirmed to be between Monday, October 7th and Friday, October 11th .
Lecture time: 21 hours 35 minutes
Number of lectures: 100 lectures
Lecture PDF materials: Approximately 400 pages
[Course Introduction]
The goal is to completely master I/O, networking, reflection, and annotations from the basics to the level required for practical use.
And this lecture is particularly code and example-oriented .
We will use everything we have learned so far - from Java Beginner, Basic, Intermediate 1, 2, Advanced 1 - to Multi-threading - while creating various examples such as member management through files, chat, and web application servers.
So, through the Java roadmap, you can learn in depth how the Java content you have learned so far is actually utilized through example code.
[Full Table of Contents]
1. Character encoding
* Project environment configuration
* Computers and data
* Computers and Character Encoding1
* Computers and Character Encoding2
* Character set lookup
* Character encoding example 1
* Character encoding example 2
* organize2. IO Basics 1
* Start Stream1
* Start Stream 2
* InputStream, OutputStream
* File I/O and Performance Optimization 1 - Write One by One
* File I/O and Performance Optimization 2 - Buffer Utilization
* File I/O and Performance Optimization 3 - Writing Buffered Streams
* File I/O and Performance Optimization 4 - Reading Buffered Streams
* File I/O and Performance Optimization 5 - Write at a time
* organize3. IO Basics 2
* Handling Text 1 - Getting Started
* Handling characters 2 - Stream to characters
* Character Handling 3 - Reader, Writer
* Character Handling 4 - BufferedReader
* Other streams
* organize4. IO Utilization
* Member Management Example 1 - Memory
* Member Management Example 2 - Save to file
* Member Management Example 3 - DataStream
* Member Management Example 4 - ObjectStream
* XML, JSON, database
* organize5. File, Files
* File
* Files
* Show path
* Read text files with Files
* Optimized file copying
* organize6. Network - Basic Theory
* Client and server
* Internet communication
* IP (Internet Protocol)
* TCP, UDP
* PORT
* DNS7. Network - Program 1
* Network Program 1 - Example
* Network Program 1 - Analysis
* Network Program 2 - Example
* Network Program 2 - Analysis
* Network program 3
* Resource Management 1
* Resource Management 2
* Resource Management 3
* Resource Management 48. Network - Program 2
* Network Program 4 - Resource Management 1
* Network Program 5 - Resource Management 2
* Network Program 6 - Resource Management 3
* Network Program 6 - Resource Management 4
* Network exception 1 - Connection exception
* Network exception 2 - timeout
* Network exception 3 - Normal termination
* Network exception 4 - Forced shutdown
* Summary and Problems9. Chat program
* Chat program - design
* Chat program - client
* Chat program - Server 1
* Chat program - Server 2
* Chat program - Server 3
* Chat program - Server 4
* organize10. HTTP - Basic Theory
* HTTP Basic Theory
* HTTP method11. Create an HTTP server
* HTTP Server 1 - Start
* HTTP Server 2 - Concurrent Requests
* HTTP Server 3 - Added features
* URL encoding
* HTTP Server 4 - Request, Response
* HTTP Server 5 - Command Pattern
* History of Web Application Servers
* organize12. Reflection
* Why reflection is needed
* Classes and metadata
* Method lookup and dynamic invocation
* Field navigation and value change
* Reflection - Usage Examples
* Constructor search and object creation
* HTTP Server 6 - Reflection Servlet
* organize13. Annotation
* Why annotations are needed
* Annotation definition
* Meta annotation
* Annotations and inheritance
* Using annotations - validator
* Java Basic Annotations
* organize14. Using HTTP Server
* HTTP Server 7 - Annotation Servlet 1 - Start
* HTTP Server 8 - Annotation Servlet 2 - Dynamic Binding
* HTTP Server 9 - Annotation Servlet 3 - Performance Optimization
* HTTP server utilization - Member management service
* organizethank you

