I don't think that any one Java book is the "Bible" in the way that the K&R and Stroustrup books are. That's because those books simultaneously
defined their respective languages, and
explained them in a reasonably readable manner, so you could actually learn the language from those books. (More true for K&R than Stroustrup, but still...) For Java, the JLS is indeed the formal definition, but in general it's a lousy way to try to learn the language. You really need to start with something else, and only use the JLS for reference when you need clarifacation. It's too dense and nitpicky to be a good read.
On the other hand, there is also The Java Programming Language by Arnold and Gosling (and later, Holmes). This fills a similar "Bible" role - it wa one of the first books out explaining Java to the masses, and it's written by two of the inventors of the language. It's more readable than the JLS, but it's not as "official" as the JLS.
Of course, there are other books written later by people who didn't invent the language, but who can explain things better. My two favorites are the already-mentioned Just Java 2 by Peter van der Linden, and Thinking in Java by Brude Eckel. All these and more are reviewed in our
Bunkhouse. Feel free to order from Amazon through those links, too, and Paul will get a little bit more help in offsetting the cost of running JavaRanch.

Oh, and before I forget - the online
API is probably a much more fundamentally important resource than any of the others mentioned so far. Any book which prints this out is just wasting paper - it's much, much more useful to have it in electronic form anyway. You can download the whole thing if you wish, to avoid having to be online all the time. And don't overlook the online
Java Tutorial and the
JLS as well while you're at it.
[This message has been edited by Jim Yingst (edited March 15, 2001).]