I have very little knowlege of programming. I plan to attend college next year for a two year "computer systems technology" program which teaches the Java programming language among others. I am really interested in learning Java and want to start now. What are some good books for a newbie programmer to start learning Java with?

Keep in mind that I am thoroughly familiar with how a computer works and all the Windows operating systems and DOS (just learning Linux now). And I have also built a few computers over the past few years.

------------------
Asus A7pro mobo
Athlon "Thunderbird" 800MHz CPU
Voodoo 3 2000 AGP 143MHz @ 167MHz
SBLive! value
KDS 17inch monitor
196mb PC100 ram
13GB Fujitsu ATA33
Mitsumi 4x4x24 burner
Mitsumi 48x CD-ROM
Terayon Cable Modem
MS Optical Mouse
Origional MS Sidewinder Gamepad
Win2k pro/Win98SE/Mandrake 8.0

I'm Canadian, Eh.