actually: having a head with a working brain in it is sufficient.
a lot of courses start of with a part theoretic knowledge:
and when they come to actual programming, they start of with:
"take a piece of paper and a pen and write down the code for" (of course this is for very small applications, just to get the feel of it, allthough you shouldn't be too surprised if you went to college and had to (for an exam) write the code for a music player using pen and paper)
to start of on your computer: notepad, the command prompt and the JDK (free to download from the Oracle website) are sufficiënt to start. if you have got the hang of the basics (writing, compiling, packaging, debugging, jar, ... ) you can easily switch over to a light-weight IDE, like JCreator.
if later on you start on bigger applications, you can always jump to more advanced IDE's, but I would not recommend on doing so the first x months.
as for additional information: a good textbook would (of course) benefit you, but there 'll always be free documentation online, being the official Java tutorials.
There are tons of other tutorials online, but most I've encountered are by self-proclaimed expert developers that don't understand the material they're blogging about, don't provide any information of what (or why) they are doing certain things, and teach stuff that is complete nonsense. so, especially if you're just starting, and aren't (yet) able to see for yourself which tutorial is bogus, stick to a good book, and the official tutorials.