in order to become a Java developer you don’t need much ;), however if you start learning everything you probably will be overwhelmed and will focus on the wrong bits and basically will probably give up.
However I have to say DON’T give up. Java is extremely easy language, maybe the easiest to start with, it is the most easy language to understand and to read (in case someone else has written the code) so this is the primary reason why Java is the most commonly used language.
So I hope this guides will give you some direction and by reading and understanding EVERYTHING in this guide you should be more than ready to join some company as a Junior Java Developer. All materials are completely FREE and are far better then any academy or university course and etc.
Why you will choose an Academy or University or Udemy course ? The only reason is if you are lazy. You see in order to understand and start applying something you need to first learn it and then to use it to write something. Most people just read without the writing bit, or try to write before they have learned anything (which is better case then the first in my opinion) but in both cases this creates a huge, HUGE gaps that are usually caught on an interview and basically makes you to fail. Academies and udemy courses help in a way that they explain and repeatedly tells you the same things over and over again and this combined with homeworks and exercises helps. Also especially udemy courses by being very pragmatic and practical will show you a code that otherwise you have to write which helps the lazy people a lot.
Still my advice is first read this if for some reason you see you are lazy and dont write code and dont do exercises and need a push then buy some udemy course for 10 bucks, if this also doesnt help then look for an expensive academy which for me should be the last resort and not the first one.
OK where should I start?
1) The best plays to start are the official Java tutorial (they are a bit outdated but still they are the BEST to start from, I started with them as well back in the 2005 and they have been updated since then but not as much as I would want to)
- Getting Started — An introduction to Java technology and lessons on installing Java development software and using it to create a simple program.
- Learning the Java Language — Lessons describing the essential concepts and features of the Java Programming Language.
- Essential Java Classes — Lessons on exceptions, basic input/output, concurrency, regular expressions, and the platform environment.
- Collections — Lessons on using and extending the Java Collections Framework.
- Date-Time APIs — How to use the java.time pages to write date and time code.
- Deployment — How to package applications and applets using JAR files, and deploy them using Java Web Start and Java Plug-in.
- Custom Networking — An introduction to the Java platform’s powerful networking features.
- Generics — An enhancement to the type system that supports operations on objects of various types while providing compile-time type safety. Note that this lesson is for advanced users. The Java Language trail contains a Generics lesson that is suitable for beginners.
- Internationalization — An introduction to designing software so that it can be easily adapted (localized) to various languages and regions.
- JavaBeans — The Java platform’s component technology.
- JDBC Database Access — Introduces an API for connectivity between the Java applications and a wide range of databases and data sources.
- Reflection — An API that represents (“reflects”) the classes, interfaces, and objects in the current Java Virtual Machine.