Добрый день.
При упорном труде можно за 1 год изучить основы java. С другой стороны, все индивидуально. Можно и за 5 лет ничему не научиться. Все зависит от вас.
Обучаюсь кстати в JavaRush
Знаю нескольких разработчиков, которые пошли на курсы, так как знаний полученных на JavaRush не хватило вовсе.
К вопросу о том, что нужно изучить по Java, тут зависит от направления, которое вас интересует. Т.е. enterprise или android разработка.
Базовая программа применимая и к enterprise и к android:
- java core (JCF, Mutlithreading, Stream API, reflection, annotation, jdbc)
- структуры данных и алгоритмы, паттерны проектирования
- Build tools: Maven, Gradle
- VCS - git
- основы TCP / IP
- основы OOP, SQL (ACID, уровни изоляции)
Для enterprise:
- java enterprise (jsp, jstl, servlet), tomcat, jetty
- Spring Framework (Spring MVC, Spring Data, Thymeleaf, Spring Boot, Spring Security) основы REST
- Hibernate (ORM), HQL
- aws / heroku
- возможно разные CICD (circleci, travis)
- jira, confluence, trello
Для android:
- kotlin
- Android API
- ORM фреймворки (ormlite, room и возможно другие)
- Firebase
Вот, отсюда можете глянуть на программу занятий по Java Core -
https://www.dist.it-academy.by/course/java-develop...
А отсюда взять программу Java Enterprise -
https://www.dist.it-academy.by/course/java-develop...