강의

멘토링

로드맵

BEST
Programming

/

Programming Language

Effective Java Complete Guide Part 1

Learn “Effective Java,” the ultimate Java learning guide, more easily and completely. By taking this course, you can improve not only your Java programming knowledge and skills, but also your learning ability.

(4.9) 111 reviews

2,918 learners

  • whiteship
Java

Reviews from Early Learners

What you will learn!

  • Java technologies related to object creation and destruction.

  • How to appropriately override methods provided by Object

Learn with MS Senior Developers!
Effective Java with extraordinary depth ✨

The end of Java study, Effective Java.

Every Java developer tries to study it at least once.
"Effective Java," a book that no one can conquer
This course will give you a complete guide.


High-level backend developer
For the you who wants to be.

"Effective Java 3/E" is a book recommended to all Java developers, but paradoxically, it's not a book that everyone can easily learn. Even to properly understand the first item, you need background knowledge on "enumeration types," "flyweight patterns," "static methods in interfaces," "service provider frameworks," and "reflection." Without this background knowledge, it's difficult to fully grasp the book's content. While it's certainly challenging to learn, the rewards of mastering each chapter are truly remarkable.

Understanding the contents of "Effective Java" will significantly enhance your skills and knowledge, opening up new perspectives. Even if you study or use other programming languages, it's worth considering . (Just like I did, I diligently studied this book, but now work at Microsoft using C# and PowerShell.)


Challenging the series
Effective Java Complete Guide

Effective Java Complete Guide - Part 1 series in progress

"Effective Java" is divided into five parts. This lecture, Part 1, covers Chapter 2, "Object Creation and Destruction," and Chapter 3, "Common Methods for All Objects."

For developers or students who find "Effective Java" challenging, or those who want to learn more thoroughly, we'll summarize each item with code and provide background knowledge to help you learn each item. Your "Effective Java" study will be much more enjoyable, easier, and more beneficial.

For those who need in-depth learning of Java .

This course is not for beginners or complete beginners in programming. It's for developers working with Java, developers who have completed basic Java studies, or students who want to improve their skills through advanced, in-depth study. If you've taken the following course or completed a similar course, you're welcome to take this course. (For more information, please refer to Section 0 - Introduction to the Course.)

Required learning courses

Recommended Course of Study


Suggested in the lecture
4-Step Learning Sequence

This course covers 14 topics covered in Parts 2 and 3 of Effective Java, providing 30 pieces of background knowledge for a thorough approach. Effective Java also provides additional source code to help you understand parts of the book that weren't covered in text. The recommended learning method is as follows:

Step 1

I bought "Effective Java" as a textbook and read one item first.

Step 2

Take the "Key Summary" class for the item corresponding to "Effective Java Complete Guide Part 1."

Step 3

Take the "Perfect Strategy" class that follows and continue to study the areas you are lacking.

Step 4

If you organize what you have learned additionally on your personal blog and leave a link on the "Questions and Answers" bulletin board, we will review it.


Complete strategy for each of the 14 items,
Learning Curriculum 📚

Item 1. Consider static factory methods instead of constructors.

  • Enumeration type
  • Flyweight pattern
  • Interfaces and static methods
  • Service Provider Framework
  • Reflection

Item 2. If your constructor has many parameters, consider a builder.

  • What is a JavaBean?
  • Freezing objects
  • Builder pattern
  • IllegalArgumentException
  • Variable arguments

Item 3. Ensure singletons with constructors or enumeration types.

  • Method Reference
  • Functional interface
  • Object serialization

Item 4. Use a private constructor to prevent instantiation.

Item 5. Use dependency injection instead of explicitly specifying resources.

  • Factory Method Pattern
  • Spring IoC

Item 6. Avoid creating unnecessary objects.

  • Deprecation
  • Regular expressions
  • Garbage collection

Item 7. Release references to objects you no longer use.

  • NullPointerException
  • WeakHashMap
  • Soft, Weak, Phantom References
  • ScheduledThreadPoolExecutor

Item 8. Avoid using finalizers and cleaners.

  • Finalizer attack
  • AutoClosable

Item 9. Use try-with-resources instead of try-finally.

Item 10. Redefine equals to follow the general convention.

  • Value-based classes
  • StackOverflowError
  • Stack and Heap
  • Liskov substitution principle

Item 11. If you override equals, also override hashCode.

  • Hash collision
  • Hash maps and linked lists
  • Thread Safety

Item 12. Always override toString.

Item 13. Be careful when redefining clone.

  • UncheckedException
  • TreeSet

Item 14. Consider implementing Comparable.

  • Compile-time vs. runtime
  • Type inference
  • integer overflow
  • floating point

A must-read for every Java developer ,
So that we can read together 💌

Why do we study? Why do we spend time and money trying to understand such difficult concepts? I believe the answer is to "improve your skills." This course embodies the same learning method I used when studying Spring and Java. First, read, organize what you understand and what you don't, summarize the reasons for any incomprehensible content, and then conduct further study on those areas. And then, further study follows, and so on.

I believe that true skill development is achieved through this learning process. It may be slow and difficult at first, but by the time you complete Items 13 and 14, you will be noticeably different from when you studied Items 1 and 2. Experience it for yourself. If you don't feel any change in your skills or knowledge by the end of this course, please request a refund. I'll give you a 100% refund, no matter the reason.

Recommended for
these people

Who is this course right for?

  • All developers who use Java in the field

  • Developers or students who want to master Java

  • Developers or students who want to learn Effective Java more thoroughly

Need to know before starting?

  • Java Basics (Must read one of the following books: Java God, Java Essentials, and Head First Java)

  • The Java: Java 8

  • More Java: Different ways to manipulate code

  • Design Patterns Learned Through Coding

Hello
This is

92,400

Learners

4,233

Reviews

2,010

Answers

4.8

Rating

20

Courses

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.

유튜브:
'백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

Curriculum

All

74 lectures ∙ (12hr 52min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

111 reviews

4.9

111 reviews

  • yoonjoy님의 프로필 이미지
    yoonjoy

    Reviews 15

    Average Rating 4.9

    5

    19% enrolled

    I think the biggest feature and advantage of Baek Gi-seon's lecture is that it doesn't just provide the right answer to the problem, but also teaches you how to find and choose a method to solve the problem. In most of Baek Gi-seon's lectures, the parts where he shows you the moments when he makes a mistake or encounters an unexpected problem, finds a method, and solves the problem through debugging without editing, made me feel like I was doing live coding with him, and it was good because I could see how he views the problem and solves it. When I first started developing, I only had a vague dream of becoming a Spring developer. I didn't know what kind of problem Spring technology was created to solve, what kind of value it provides to our developers, and how it became so popular. However, two years ago, I happened to come across Baek Gi-seon's YouTube channel, and from the first REST-API lecture at Inflearn to the current Effective Java lecture, I realized that technology is not everything when living as a developer, and I reflected on it, and I focused on learning the unchanging fundamental technology and knowledge that are the foundation of many technologies that change like Spring. Let me talk about the lecture atmosphere briefly. In the past, I felt that it was somewhat stiff and a little unfriendly, and I thought that there would be quite a few people who would be sensitive to this, but now I feel that the overall lecture atmosphere and lecture quality have greatly improved. It's the best. Lastly, after communicating with Baek Gi-seon through YouTube and Inflearn for two years, I got a job this year and am happily working at the company. I am truly grateful to Baek Gi-seon, who helped me establish my identity as a developer and realize how to study, and to Inflearn, who helped me easily access such a great lecture! I look forward to better lectures and better services in the future!!

    • whiteship
      Instructor

      Hello. I am glad to hear good news from Kangnangkong. I hope my lecture was of some help and I will continue to improve in the future. Thank you.

  • omg님의 프로필 이미지
    omg

    Reviews 205

    Average Rating 5.0

    5

    100% enrolled

    It was good that the content of the book, which is less than 100 pages, was explained in detail with key points and perfect strategies in about 13 hours. After reading the book once and taking the lecture, I understood the lecture better, and even if I read the book several times on my own, if I don't have basic knowledge, I wouldn't understand it, so it was very helpful to understand it by dividing the explanation of the book and the keywords covered in the book. However, what was disappointing was that there were many lecture PPLs throughout the lecture, so there were times when I lost focus. There were many mentions of the Java series and design pattern lectures, and if there were many lecture references in each video (I understand and am familiar with the fact that these lectures are important as prior knowledge and reference content), I wonder if it would have been better to create a separate video explaining Gi-seon's existing related lectures related to this lecture, just like the Spring Framework Core Technology lecture, where the lecture introduction and instructor introduction were separated, and explain only the learning content in the lecture. I think it would be good for reviewing, learning, and referring to the lecture correlation. Despite the shortcomings, I will definitely watch the next lecture if it is released. I hope you continue to provide good lectures^^

    • whiteship
      Instructor

      Thanks for the feedback. I think I mentioned other lectures too much in the beginning. I'll pay more attention next time.

  • gun님의 프로필 이미지
    gun

    Reviews 7

    Average Rating 4.9

    5

    31% enrolled

    I like Ki-seon's lecture style because it feels more like a real lecture, with scenes where he laughs and makes mistakes, rather than feeling stiff like other lectures. Even MS developers make mistakes like that, so I feel like they're not robots but people. 🤣🤣🤣 I've taken Ki-seon's lectures a lot, but this lecture is based on basic knowledge, so I don't think there's a more difficult lecture than this one (He promotes other lectures, but he reminds us of the content as a preview, so I think students can judge what's lacking by looking at the table of contents.) Since Effective Java is a translated book, it's not easy to understand, but it felt like he was translating it again, so I was able to approach it comfortably. (It's still difficult, though..) Unlike the lectures you've filmed in the past, he asks questions and answers more, so I think it gave me time to think more deeply. I really like this style!! If you didn't feel any changes until you finished it, you can get a 100% refund, so listen to it all. There's a reason Ki-seon is confident. !! p.s) When will the next part come out?

    • whiteship
      Instructor

      Part 2 is planned for summer of this year (2022). Thanks for the feedback.

  • davideugen님의 프로필 이미지
    davideugen

    Reviews 11

    Average Rating 5.0

    5

    7% enrolled

    In some ways, I feel like I'm regressing because I've been using it the way I always used it, even though I need to know the characteristics of Java properly while working, so I came across Ki-seon's lecture while trying to study it again. I'm watching it along with design patterns and refactoring. There are many parts of Ki-seon's lecture that are related to the areas used in practice, and since he also provides necessary background information, I think it's very helpful for expanding my knowledge. And the best part is that it's not a set framework, but the process of solving problems that arise in real life is also a good experience. I tried Effective Java once before with a book, but I just progressed through it and couldn't properly digest it. When I read it in a book, there were a lot of things that were stiff and incomprehensible, but I think Ki-seon is filling in the gaps of knowledge that I couldn't access in the book. Is it just a feeling that the organization is getting better compared to the old YouTube videos? In the past, it was live coding, but it was difficult to concentrate, but these days, it seems that organizing knowledge by giving questions to think about while organizing in between is also helpful. It is difficult content, but if you follow it step by step, it will be very helpful. I am looking forward to the remaining 4 parts :)

    • junkim46857399님의 프로필 이미지
      junkim46857399

      Reviews 4

      Average Rating 5.0

      5

      57% enrolled

      Effective Java, which is considered a must-read for Java developers, was recommended in the translator's note, and I was always disappointed that the Effective Java YouTube lecture by Baek Ki-seon was only halfway through. As Baek Ki-seon continued to give lectures, I thought, "Wouldn't you make Effective Java into a lecture?" and when I heard that he was actually making it into a lecture, I bought it right away. I think that the combination of his previous experience of making a video introducing the contents of the book and his experience of consistently making lectures on Inflearn made for a better lecture. The questions that came up in the middle of the lecture made me think about what I was missing and what I was lacking, and it was good that he also conveyed things that developers should consider, not just the contents of the book. And it may not be related to this lecture, but it seems very helpful that when an error occurs in the source while recording a lecture, instead of editing the content and replaying it, you can also watch the process of solving the error. Although this lecture alone does not cover all the contents of the book, I think I have the opportunity to look at the book thoroughly. And in my case, I think I will have time to understand the parts covered in this lecture to some extent until the next lecture comes out. Baek Gi-seon's lectures/videos somehow seem to create passion. I always look forward to the next lecture and the one after that, and I will also relearn the contents of the previous lectures that Baek Gi-seon made until the next part comes out. Thank you for the great lecture. ^^

      • whiteship
        Instructor

        There are likes and dislikes for the error correction part, so in the lectures I make recently, I try to edit and convey it neatly. Later, I can collect only the parts with errors and upload them to YouTube, but many people are sensitive about such parts in paid lectures. Thank you for your feedback.

    $68.20

    whiteship's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!