This is one of the absolute best introductions to Java, if you are already familiar with programming or have a good instructor to help you out when you get stuck. For an absolute beginner this textbook could be just a little too rough. On the other hand, after you read and comprehend the material presented in the first and second volume of Core Java you can call yourself a competent Java programmer.
The authors explain the various features of the language in a precise and crystal clear way but without much "holding hands" and with code example that are short, functional and to the point.
Just be warned that to get a through presentation of the fundamentals of Java programming you really need to buy BOTH volumes. It will be a good investment, anyways.