This tutorial is about the Java language and coding environment. Whether you are a software developer or just someone who uses the Internet in your daily life, you've undoubtedly heard about Java. Its introduction was one of the most exciting developments in the history of the Web and it hasn't slowed down much since. Java is now, arguably, the most popular coding language in the world, used by millions of developers on almost every kind of computer imaginable. In recent years Java has surpassed languages such as C++ and Visual Basic in terms of developer demand and become the de facto language for new developmentespecially for web-based apps and services. Most universities are now using Java in their introductory courses, alongside the other important modern languages. Perhaps you are using this text in one of your classes right now! This tutorial gives you a thorough grounding in Java fundamentals and APIs. Learning Java attempts to live up to its name by mapping out the Java language, its class libraries, coding techniques, and idioms. We'll dig deep into interesting areas and at least scratch the surface of the rest. Other titles from Oracle pick up where we leave off and provide more comprehensive information on specific areas and apps of Java. Whenever possible, we provide compelling, realistic, and fun examples and avoid merely cataloging features. The examples are simple but hint at what can be done. We won't be developing the next great "killer app" in these pages, but we hope to give you a starting point for many hours of experimentation and inspired tinkering that will lead you to learn more on your own.