I recommend enrolling for an online course from a reputed institute to learn Java considering the self-paced learning and cost-effective option. Now, with a lot of resources available online, we don't need to attend offline courses to learn any technology. So, I recommend this Java Certification program by Intellipaat that covers the following topics and also provides hands-on projects and certification:
- Programming and core Java concepts
- Inheritance, Collections and Threads in Java
- Connecting with JDBC for different applications
- Method Overriding and Overloading
- Using Array and HashMap for storing dynamic data
- Deploying the runnable interface for creating threads in Java
- Working on live projects for hands-on experience
You can watch this video on Java Training to get started: