The Definitive Java Programming Guide
Fully updated for Java SE 8, Java: The Complete Reference, Ninth Edition explains how to develop, compile, debug, and run Java programs. Bestselling programming author Herb Schildt covers the entire Java language, including its syntax, keywords, and fundamental programming principles, as well as significant portions of the Java API library. JavaBeans, servlets, applets, and Swing are examined and real-world examples demonstrate Java in action. New Java SE 8 features such as lambda expressions, the stream library, and the default interface method are discussed in detail. This Oracle Press resource also offers a solid introduction to JavaFX.
- Data types, variables, arrays, and operators
- Control statements
- Classes, objects, and methods
- Method overloading and overriding
- Interfaces and packages
- Exception handling
- Multithreaded programming
- Enumerations, autoboxing, and annotations
- The I/O classes
- Lambda expressions
- String handling
- The Collections Framework
- Event handling
- AWT and Swing
- The Concurrent API
- The Stream API
- Regular expressions
- Applets and servlets
- Much, much more
About the Author
Herbert Schildt is the world’s leading programming author and a top authority on Java, C++, and C#. His books have sold millions of copies worldwide. Herb’s acclaimed books include Java: The Complete Reference, Java: A Beginner's Guide, C++: The Complete Reference and C#: The Complete Reference.
Most helpful customer reviews
92 of 99 people found the following review helpful.
Too big and at the same time too shallow for a reference
By Constantine Kulak
The first impression after reading this book for one day -- it is definitely not a complete reference. Many important points are covered too shallow.
For example, while discussing Properties, the author mentions that this API is sort of obsolete, but he doesn't mention Preferences. In fact, Preferences are not mentioned at all (at least I couldn't find it in the Index). Another example -- StringTokenizer class, for which the author dedicates two pages, but doesn't mention how it is different from String.split, e.g. from the performance point of view. There are javadocs for ArrayList, but it doesn't say how it grows and when it shrinks. I was unable to find some of the important contracts, e.g. what has the higher priority for a TreeSet -- Comparator's 0, or element's equals returning false? Those are rather trivial questions, naturally appearing while reading the book, but unfortunately you'll have to google for it. The author provides virtually no hints about the implementation of the library and the language, which I believe is essential for understanding most of the design decisions. This is absolutely unacceptable for a reference book.
There are two other annoying things:
1. The book is full of Javadocs, I would say 1/3 of the book is Oracle javadocs, which I personally find rather useless. It looks like something completely artificial, added just to extend this (already enormous) volume.
2. The book is very thick, while the binding and cover are very soft and unsubstantial. It had some signs of wear already after one day of reading! If you use this book regularly as a reference, it will wear out very soon.
Having said that, I must mention that some of the topics are covered well, concise and right to the point. For example, I like the way author incorporated new Java 8 language features throughout the whole book. For instance, you will find lambdas and new collection features used regularly in examples. In general, I've got an impression that "Java Language" section is written better than "The Java Library" one.
Finally, it is hard to understand the point of this book -- it is far too huge to be read linearly, and it is not deep enough to serve as a reference. Probably, the best uses for it would be to remind some of the core language and library concepts, and also to learn new features of Java 8.
4 of 4 people found the following review helpful.
-PRO- The explanations are very detailed and easy to understand
By Justin Song
Sophomore year of my high school, I took computer science class. My teacher's explanations were hard to understand for beginners and thats when I decided to buy this book and study myself.
This book consists of 17 chapters that throughly explain all aspects of JAVA.
The explanations are very detailed and easy to understand. Sample codes in each chapters are fairly simple and easy to understand for beginners.
Also, self tests at the end of every chapter are really helpful resources to make sure you understand the chapters.
Even though this book is a beginner's guide, the explanations are very detailed and deep.
I recommend this book for people who are really into java and willing to learn java really deep. If you are trying to know the basics of java, and study for AP test, I do not recommend this book.
21 of 23 people found the following review helpful.
See all 295 customer reviews...
An Outstanding Resource
Some reviewers have said this book is too big to read through. I'll put that to the test. This book is BIG but written very nicely. It is a reference book, yes, but can be read through comfortably. It is clear and succinct without embellishment. There are plenty of examples throughout each section to apply the outlined knowledge. I especially like how some sections include the *why* of the way things are. It helps with understanding. I am an experienced programmer coming from many other object-oriented languages and wanted a way to learn Java without the fluff. This book is perfect in that respect. It is in no way a novice guide to programming. If you are not familiar--at least conceptually--and experienced with OOP/OOD (among other things), come back later for this massive text. Otherwise, it's worth the splurge at ~$45 for nearly 1300 pages. It is well-organized and written with great clarity.
TOC (At a Glance):
__ Part I The Java Language __
1. The History and Evolution of Java 3
2. An Overview of Java 17
3. Data Types, Variables, and Arrays 35
4. Operators 61
5. Control Statements 81
6. Introducing Classes 109
7. A Closer Look at Methods and Classes 129
8. Inheritance 161
9. Packages and Interfaces 187
10. Exception Handling 213
11. Multithreaded Programming 233
12. Enumerations, Autoboxing, and Annotations (Metadata) 263
13. I/O, Applets, and Other Topics 301
14. Generics 337
15. Lambda Expressions 381
__ Part II The Java Library __
16. String Handling 413
17. Exploring java.lang 441
18. java.util Part 1: The Collections Framework 497
19. java.util Part 2: More Utility Classes 579
20. Input/Output: Exploring java.io 641
21. Exploring NIO 689
22. Networking 727
23. The Applet Class 747
24. Event Handling 769
25. Introducing the AWT: Working withWindows, Graphics, and Text 797
26. Using AWT Controls, Layout Managers, and Menus 833
27. Images 885
28. The Concurrency Utilities 915
29. The Stream API 965
30. Regular Expressions and Other Packages 991