how can i start programming with java?

This is my first-month learning programming using Java. I have a bunch of questions:

  1. I found that there are many websites to solve problems like edabit, codeforces, hackerrank, etc and I am moving from one site to another without any benefits so which site most people use?
  2. Should I memorize the ideas of the problems?