Book description
Version 5.0 of the Java 2 Standard Edition SDK is the most important upgrade since Java first appeared a decade ago. With Java 5.0, you'll not only find substantial changes in the platform, but to the language itself-something that developers of Java took five years to complete. The main goal of Java 5.0 is to make it easier for you to develop safe, powerful code, but none of these improvements makes Java any easier to learn, even if you've programmed with Java for years. And that means our bestselling hands-on tutorial takes on even greater significance.
Learning Java is the most widely sought introduction to the programming language that's changed the way we think about computing. Our updated third edition takes an objective, no-nonsense approach to the new features in Java 5.0, some of which are drastically different from the way things were done in any previous versions. The most essential change is the addition of "generics", a feature that allows developers to write, test, and deploy code once, and then reuse the code again and again for different data types. The beauty of generics is that more problems will be caught during development, and Learning Java will show you exactly how it's done.
Java 5.0 also adds more than 1,000 new classes to the Java library. That means 1,000 new things you can do without having to program it in yourself. That's a huge change. With our book's practical examples, you'll come up to speed quickly on this and other new features such as loops and threads. The new edition also includes an introduction to Eclipse, the open source IDE that is growing in popularity.
Learning Java, 3rd Edition addresses all of the important uses of Java, such as web applications, servlets, and XML that are increasingly driving enterprise applications.
Publisher resources
Table of contents
- Learning Java
- A Note Regarding Supplemental Files
- Preface
- 1. A Modern Language
- 2. A First Application
- 3. Tools of the Trade
- 4. The Java Language
-
5. Objects in Java
- 5.1. Classes
- 5.2. Methods
- 5.3. Object Creation
- 5.4. Object Destruction
- 5.5. Enumerations
-
6. Relationships Among Classes
- 6.1. Subclassing and Inheritance
- 6.2. Interfaces
- 6.3. Packages and Compilation Units
- 6.4. Visibility of Variables and Methods
- 6.5. Arrays and the Class Hierarchy
- 6.6. Inner Classes
-
7. Working with Objects and Classes
- 7.1. The Object Class
- 7.2. The Class Class
- 7.3. Reflection
- 7.4. Annotations
-
8. Generics
- 8.1. Containers: Building a Better Mousetrap
- 8.2. Enter Generics
- 8.3. “There Is No Spoon”
- 8.4. Parameterized Type Relationships
- 8.5. Casts
- 8.6. Writing Generic Classes
- 8.7. Bounds
- 8.8. Wildcards
- 8.9. Generic Methods
- 8.10. Arrays of Parameterized Types
- 8.11. Case Study: The Enum Class
- 8.12. Case Study: The sort() Method
- 8.13. Conclusion
-
9. Threads
- 9.1. Introducing Threads
- 9.2. Threading an Applet
- 9.3. Synchronization
- 9.4. Scheduling and Priority
- 9.5. Thread Groups
- 9.6. Thread Performance
- 9.7. Concurrency Utilities
- 9.8. Conclusion
-
10. Working with Text
- 10.1. Text-Related APIs
- 10.2. Strings
- 10.3. Internationalization
- 10.4. Parsing and Formatting Text
- 10.5. Printf-Style Formatting
- 10.6. Formatting with the java.text Package
-
10.7. Regular Expressions
-
10.7.1. Regex Notation
- 10.7.1.1. Write once, run away
- 10.7.1.2. Escaped characters
- 10.7.1.3. Characters and character classes
- 10.7.1.4. Custom character classes
- 10.7.1.5. Position markers
- 10.7.1.6. Iteration (multiplicity)
- 10.7.1.7. Grouping
- 10.7.1.8. Capture groups
- 10.7.1.9. Numbering
- 10.7.1.10. Alternation
- 10.7.1.11. Special options
- 10.7.1.12. Greediness
- 10.7.1.13. Lookaheads and lookbehinds
- 10.7.2. The java.util.regex API
-
10.7.1. Regex Notation
-
11. Core Utilities
- 11.1. Math Utilities
- 11.2. Dates and Times
- 11.3. Timers
-
11.4. Collections
- 11.4.1. The Collection Interface
- 11.4.2. Iteration
- 11.4.3. Collection Types
- 11.4.4. The Map Interface
- 11.4.5. Collection Implementations
- 11.4.6. Hash Codes and Key Values
- 11.4.7. Synchronized and Unsynchronized Collections
- 11.4.8. Read-Only and Read-Mostly Collections
- 11.4.9. WeakHashMap
- 11.4.10. EnumSet and EnumMap
- 11.4.11. Sorting Collections
- 11.4.12. A Thrilling Example
- 11.5. Properties
- 11.6. The Preferences API
- 11.7. The Logging API
- 11.8. Observers and Observables
- 12. Input/Output Facilities
-
13. Network Programming
- 13.1. Sockets
- 13.2. Datagram Sockets
- 13.3. Simple Serialized Object Protocols
- 13.4. Remote Method Invocation
- 13.5. Scalable I/O with NIO
- 14. Programming for the Web
-
15. Web Applications and Web Services
- 15.1. Web Application Technologies
-
15.2. Web Applications
- 15.2.1. The Servlet Life Cycle
- 15.2.2. Servlets
- 15.2.3. The HelloClient Servlet
- 15.2.4. The Servlet Response
- 15.2.5. Servlet Parameters
- 15.2.6. The ShowParameters Servlet
- 15.2.7. User Session Management
- 15.2.8. The ShowSession Servlet
- 15.2.9. The ShoppingCart Servlet
- 15.2.10. Cookies
- 15.2.11. The ServletContext API
- 15.3. WAR Files and Deployment
- 15.4. Servlet Filters
- 15.5. Building WAR Files with Ant
- 15.6. Implementing Web Services
-
16. Swing
-
16.1. Components
- 16.1.1. Peers and Look-and-Feel
- 16.1.2. The MVC Framework
- 16.1.3. Painting
- 16.1.4. Enabling and Disabling Components
- 16.1.5. Focus, Please
- 16.1.6. Other Component Methods
- 16.1.7. Layout Managers
- 16.1.8. Insets
- 16.1.9. Z-Ordering (Stacking Components)
- 16.1.10. The revalidate() and doLayout() Methods
- 16.1.11. Managing Components
- 16.1.12. Listening for Components
- 16.1.13. Windows and Frames
- 16.1.14. Other Methods for Controlling Frames
- 16.1.15. Content Panes
- 16.2. Events
- 16.3. Event Summary
- 16.4. The AWT Robot!
- 16.5. Multithreading in Swing
-
16.1. Components
- 17. Using Swing Components
- 18. More Swing Components
- 19. Layout Managers
- 20. Drawing with the 2D API
- 21. Working with Images and Other Media
-
22. JavaBeans
- 22.1. What’s a Bean?
- 22.2. The NetBeans IDE
- 22.3. Properties and Customizers
- 22.4. Event Hookups and Adapters
- 22.5. Binding Properties
- 22.6. Building Beans
- 22.7. Limitations of Visual Design
- 22.8. Serialization Versus Code Generation
- 22.9. Customizing with BeanInfo
- 22.10. Hand-Coding with Beans
- 22.11. BeanContext and BeanContextServices
- 22.12. The Java Activation Framework
- 22.13. Enterprise JavaBeans
-
23. Applets
- 23.1. The Politics of Applets
- 23.2. The JApplet Class
- 23.3. Using the Java Plug-in
- 23.4. Java Web Start
- 23.5. Using Digital Signatures
- 23.6. Conclusion
-
24. XML
- 24.1. A Bit of Background
- 24.2. XML Basics
- 24.3. SAX
- 24.4. DOM
- 24.5. XPath
- 24.6. XInclude
- 24.7. Validating Documents
- 24.8. JAXB and Code Generation
- 24.9. Transforming Documents with XSL/XSLT
- 24.10. Web Services
- 24.11. The End of the Book
- A. The Eclipse IDE
- B. BeanShell: Simple Java Scripting
- Glossary
- Index
- About the Authors
- Colophon
- Copyright
Product information
- Title: Learning Java, 3rd Edition
- Author(s):
- Release date: May 2005
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596008734
You might also like
book
Learning Java, 6th Edition
Ideal for working programmers new to Java, this best-selling book guides you through the language features …
book
Head First Java, 3rd Edition
What will you learn from this book? Head First Java is a complete learning experience in …
book
Effective Java, 3rd Edition
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed …
book
Head First Java, 2nd Edition
Learning a complex new language is no easy task especially when it s an object-oriented computer …