Top Java Books on Google Books
Here is an good list of top Java books available for preview on Google Books. Google Books provides scans of thousands of textbooks. The scans are not the best, most books have visible scan defects in them.
Even though the scans are not the best, there are some features that just work well. Just like Google Maps, where you can send a link to a map (with a set size, address, etc), with Google Books you can send a link to a specific page in a certain book with specific words highlighted.
Here are some great Java books available from Google Books.
You can also browse for books in other programming languages, too.