10th Edition. — Prentice Hall, 2014. — 1245 p. — ISBN10: 0133807800, ISBN13: 9780133807806.
Java How to Program (Early Objects) , Tenth Edition is intended for use in the Java programming course. It also serves as a useful reference and self-study tutorial to Java programming.New To This Edition:Java Standard Edition: Java SE 7 and the New Java SE 8:Easy to use with Java SE 7 or Java SE
8. To meet the needs of our audiences, the book is designed for college and professional courses based on Java SE 7, Java SE 8 or a mixture of both. The Java SE 8 features are covered in optional, easy-to-include-or-omit sections. The new Java SE 8 capabilities can dramatically improve the programming process.
Java SE 8 lambdas, streams, and interfaces with default and static methods. The most significant new features in JavaSE 8 are lambdas and complementary technologies, which are covered in detail in the optional Chapter 17 and optional sections marked Java SE 8 in later chapters.
Java SE 7’s try-with-resources statement and the AutoClosable Interface. In this edition, try-with-resources and AutoClosable objects are used, as appropriate, starting in Chapter 15, Files, Streams and Object Serialization.
Java security. The book is audited against the CERT Oracle Secure Coding Standard for Java as appropriate for an introductory textbook. Java NIO API. The file-processing examples in Chapter 15 are updated to use features from the Java NIO (new IO) API.
Java Documentation. Throughout the book, links are provided to Java documentation to learn more about the topics presented.
Swing and JavaFX GUI, Graphics and Multimedia:Swing GUI and Java 2D graphics. Java’s Swing GUI is discussed in the optional GUI and graphics sections in Chapters 2–6 and 8–10, and in Chapters 12 and
22. Chapter 13 discusses Java 2D graphics.
JavaFX GUI, graphics and multimedia. In Chapter 25, JavaFX 2.2 is used with Java SE
7. The online Chapters 26 and 27 present additional JavaFX GUI features and introduce JavaFX graphics and multimedia in the context of Java FX 8 and Java SE
8. In Chapters 25–27 Scene Builder is used — a drag-and-drop tool for creating JavaFX GUIs quickly and conveniently.
Concurrency:Concurrency for optimal multi-core performance. Brian Goetz, co-author of Java Concurrency in Practice (Addison-Wesley), was a reviewer for this edition. Chapter 23 is updated with Java SE 8 technology and idiom. A parallelSort vs. sort example is added that uses the Java SE 8 Date/ Time API to time each operation and demonstrate parallelSort’s better performance on a multi-core system. A Java SE 8 parallel vs. sequential stream processing example is included. Finally, a Java SE 8 CompletableFuture example is added that demonstrates sequential and parallel execution of long-running calculations.
SwingWorker class. Class SwingWorker is used to create multithreaded user interfaces. Online Chapter 26 shows how JavaFX handles concurrency.
Getting Monetary Amounts Right:Monetary amounts. For convenience, type double is used to represent monetary amounts in the early chapters. Due to the potential for incorrect monetary calculations with type double, class BigDecimal (which is a bit more complex) should be used to represent monetary amounts. BigDecimal is demonstrated in Chapters 8 and 25.
Database Coverage:JDBC. Chapter 24 covers JDBC and uses the Java DB database management system. The chapter introduces Structured Query Language (SQL) and features an OO case study on developing a database-driven address book that demonstrates PreparedStatements.
Java Persistence API. The new online Chapter 29 covers the Java Persistence API (JPA)—a standard for object relational mapping (ORM) that uses JDBC under the hood. ORMtools can look at a database’s schema and generate a set of classes that enabled you to interact with a database without having to use JDBC and SQL directly. This speeds database-application development, reduces errors and produces more portable code.
Web Application Development Coverage:Java Server Faces (JSF). Online Chapters 30–31 have been updated to introduce the latest JavaServer Faces (JSF) technology for building web-based applications. Chapter 30 includes examples on building web application GUIs, validating forms and session tracking. Chapter 31 discusses data-driven, Ajax-enabled JSF applications — the chapter features a database-driven multitier web address book that allows users to add and search for contacts.
Web services. As the vast majority of today’s web services now use REST, Chapter 32 now concentrates on creating and consuming REST-based web services.