Uhm, well as a compiler I’d say go with the latest oracle one… Download and install jdk10. Don’t know what OS you will be using but check on the best way to install it on your current distro. Then, instead of bashing against code, I’d say read a bit about object oriented programming, inheritance against composition, and some design patterns would be a topic for a future engagement, once you have already started coding. Then, also, check on the functional approach java intended with lambdas.
It is a really huge topic that you are asking, but if you start with a small project that you intend to create and get it bigger from there on, you’ll be fine.
Also, you’ll need to think on what you want to create. If it is a web app, check on spring boot, which has a ton of tutorials and examples.
Cheers!