<p><pre><code> > Read through language references like the Java API specification, Python
> Language Reference, or Ruby Documentation. Know the data structures your
> language gives you: what methods are available for an array, a dictionary,
> a stack, a queue. Read through the calls you can make for an API and the
> parameters you can pass to a function.
>
> Try to commit these things to memory if you can.
</code></pre>
Please do not just read through the Java API specification. It is enormous. A lot of it is irrelevant to almost everyone (the first entries are java.applet.* and java.awt.*). A lot of what sounds relevant is often implemented better and more usefully in third-party packages. This is BS advice.<p>Read the docs for types and modules <i>you see in use</i>, in your codebase. Do an occasional code dive into the standard library and poke around in it. Do not just read through the Java standard library.