What does it take to succeed in this dive?

Like studying any programming language, to succeed with Java, you will need to spend a lot of time programming. The best way to get better is through consistent practice!

Further, you need to remember these words: "Just because I don't understand it today, doesn't mean I won't understand it tomorrow."  In other words, do not give up.  Learning to code in any language and at any  level can make you feel completely and utterly stupid at times.  Do not listen.  You are not stupid--you are simply stuck.  There's a big difference.

So how to succeed?  Keep going.  Learn constantly.  Always be enrolled in a course or watch a new video or read a new book.  And practice.  You must build things.