Difficulties Learning Java
To master Java you need to know :
How to solve problems algorithmically using Java’s syntax and environment.
The various classes contained in Java’s packages and how to use them.
The OO model and the design behind Java’s classes.