Java Examples In A Nutshell: A Tutorial Companion To Java In A Nutshell by David FlanaganJava Examples In A Nutshell: A Tutorial Companion To Java In A Nutshell by David Flanagan

Java Examples In A Nutshell: A Tutorial Companion To Java In A Nutshell

byDavid Flanagan

Paperback | January 31, 2004

Pricing and Purchase Info

$46.23 online 
$51.95 list price save 11%
Earn 231 plum® points

Prices and offers may vary in store


In stock online

Ships free on orders over $25

Not available in stores


The author of the best-sellingJava in a Nutshellhas created an entire book of real-world Java programming examples that you can learn from. If you learn best "by example," this is the book for you.This third edition covers Java 1.4 and contains 193 complete, practical examples: over 21,900 lines of densely commented, professionally written Java code, covering 20 distinct client-side and server-side APIs. It includes new chapters on the Java Sound API and the New I/O API. The chapters on XML and servlets have been rewritten to cover the latest versions of the specifications and to demonstrate best practices for Java 1.4. New and updated examples throughout the book demonstrate many other new Java features and APIs.Java Examples in a Nutshellis a companion volume toJava in a Nutshell,Java Foundation Classes in a Nutshell, andJava Enterprise in a Nutshell. It picks up where those quick references leave off, providing a wealth of examples for both novices and experts. This book doesn't hold your hand; it simply delivers well-commented working examples with succinct explanations to help you learn and explore Java and its APIs.Java Examples in a Nutshellcontains examples that demonstrate:

  • Core APIs, including I/O, New I/O, threads, networking, security, serialization, and reflection
  • Desktop APIs, highlighting Swing GUIs, Java 2D graphics, preferences, printing, drag-and-drop, JavaBeans, applets, and sound
  • Enterprise APIs, including JDBC (database access), JAXP (XML parsing and transformation), Servlets 2.4, JSP 2.0 (JavaServer Pages), and RMI
The book begins with introductory examples demonstrating structured and object-oriented programming techniques for new Java programmers. A special index at the end of the book makes it easy to look up examples that use a particular Java class or accomplish a desired task. In between, each chapter includes exercises that challenge readers and suggest further avenues for exploration.
David Flanagan is a computer programmer who spends most of his time writing about JavaScript and Java. His books with O'Reilly include Java in a Nutshell, Java Examples in a Nutshell, Java Foundation Classes in a Nutshell, JavaScript: The Definitive Guide, and JavaScript Pocket Reference. David has a degree in computer science and engi...
Title:Java Examples In A Nutshell: A Tutorial Companion To Java In A NutshellFormat:PaperbackDimensions:722 pages, 9 × 6 × 1.3 inPublished:January 31, 2004Publisher:O'Reilly MediaLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:0596006209

ISBN - 13:9780596006204

Look for similar items by category:


Table of Contents

Preface; New in This Edition; Java Examples Online; Related Books from O'Reilly; Conventions Used in This Book; Request for Comments; Acknowledgments; Part I: Learning Java; Chapter 1: Java Basics; 1.1 Hello World; 1.2 FizzBuzz; 1.3 The Fibonacci Series; 1.4 Using Command-Line Arguments; 1.5 Echo in Reverse; 1.6 FizzBuzz Switched; 1.7 Computing Factorials; 1.8 Recursive Factorials; 1.9 Caching Factorials; 1.10 Computing Big Factorials; 1.11 Handling Exceptions; 1.12 Interactive Input; 1.13 Using a StringBuffer; 1.14 Sorting Numbers; 1.15 Computing Primes; 1.16 Exercises; Chapter 2: Objects, Classes, and Interfaces; 2.1 A Rectangle Class; 2.2 Testing the Rect Class; 2.3 A Rect Subclass; 2.4 Another Subclass; 2.5 Complex Numbers; 2.6 Computing Statistics; 2.7 An Integer List; 2.8 Tokenizing Text; 2.9 Exercises; Part II: Core Java APIs; Chapter 3: Input/Output; 3.1 Files and Streams; 3.2 Working with Files; 3.3 Copying File Contents; 3.4 Reading and Displaying Text Files; 3.5 Listing Directory and File Information; 3.6 Compressing Files and Directories; 3.7 Filtering Character Streams; 3.8 Tokenizing a Character Stream; 3.9 Random Access to Files; 3.10 Exercises; Chapter 4: Threads; 4.1 Thread Basics; 4.2 Thread-Safe Classes; 4.3 Threads and Thread Groups; 4.4 Deadlock; 4.5 Timers; 4.6 Exercises; Chapter 5: Networking; 5.1 Downloading the Contents of a URL; 5.2 Using a URLConnection; 5.3 Sending Email Through a URLConnection; 5.4 A Simple Network Client; 5.5 A Generic Client; 5.6 An HTTP Client; 5.7 A POP Client; 5.8 A Simple Web Server; 5.9 A Proxy Server; 5.10 A Generic Multithreaded Server; 5.11 Sending Datagrams; 5.12 Receiving Datagrams; 5.13 Exercises; Chapter 6: New I/O; 6.1 Locking Files; 6.2 Copying Files; 6.3 Regular Expressions and Character Decoding; 6.4 File Copying with Buffers; 6.5 Advanced Byte-to-Character Conversion; 6.6 Tokenizing Byte Buffers; 6.7 A Simple HTTP Client; 6.8 The Daytime Service; 6.9 A Multiplexed Server; 6.10 A Multiplexed Network Client; 6.11 Exercises; Chapter 7: Security and Cryptography; 7.1 Running Untrusted Code; 7.2 Loading Untrusted Code; 7.3 Message Digests and Digital Signatures; 7.4 Cryptography; 7.5 Exercises; Chapter 8: Internationalization; 8.1 A Word About Locales; 8.2 Unicode; 8.3 Character Encodings; 8.4 Handling Local Customs; 8.5 Localizing User-Visible Messages; 8.6 Formatted Messages; 8.7 Exercises; Chapter 9: Reflection; 9.1 Obtaining Class and Member Information; 9.2 Invoking a Named Method; 9.3 Proxy Objects; 9.4 Exercises; Chapter 10: Object Serialization; 10.1 Simple Serialization; 10.2 Custom Serialization; 10.3 Externalizable Classes; 10.4 Serialization and Class Versioning; 10.5 Exercises; Part III: Desktop Java APIs; Chapter 11: Graphical User Interfaces; 11.1 Components; 11.2 Containers; 11.3 Layout Management; 11.4 Event Handling; 11.5 A Complete GUI; 11.6 Actions and Reflection; 11.7 Custom Dialogs; 11.8 An Error Handler Dialog; 11.9 Displaying Tables; 11.10 Displaying Trees; 11.11 A Simple Web Browser; 11.12 Describing GUIs with Properties; 11.13 Themes and the Metal Look-and-Feel; 11.14 Look-and-Feel Preferences; 11.15 The ShowBean Program; 11.16 Exercises; Chapter 12: Graphics; 12.1 Graphics Before Java 1.2; 12.2 The Java 2D API; 12.3 Drawing and Filling Shapes; 12.4 Transforms; 12.5 Line Styles with BasicStroke; 12.6 Stroking Lines; 12.7 Filling Shapes with Paint; 12.8 Antialiasing; 12.9 Combining Colors with AlphaComposite; 12.10 Image Processing; 12.11 Image I/O; 12.12 Custom Shapes; 12.13 Custom Strokes; 12.14 Custom Paint; 12.15 Advanced Animation; 12.16 Displaying Graphics Examples; 12.17 Exercises; Chapter 13: Printing; 13.1 Printing with the Java 1.1 API; 13.2 Printing with the Java 1.2 API; 13.3 Printing with the Java 1.4 API; 13.4 Printing Multipage Text Documents; 13.5 Advanced Printing with Java 1.4; 13.6 Exercises; Chapter 14: Data Transfer; 14.1 Simple Swing Data Transfer; 14.2 A Clock with Drag and Copy Support; 14.3 Data Transfer Architecture; 14.4 Dropping Multiple Datatypes; 14.5 A Transferable Shape; 14.6 Custom Data Transfer; 14.7 Exercises; Chapter 15: JavaBeans; 15.1 Bean Basics; 15.2 A Simple Bean; 15.3 A More Complex Bean; 15.4 Custom Events; 15.5 Specifying Bean Information; 15.6 Defining a Simple Property Editor; 15.7 Defining a Complex Property Editor; 15.8 Defining a Bean Customizer; 15.9 Manipulating Beans; 15.10 Exercises; Chapter 16: Applets; 16.1 Introduction to Applets; 16.2 A First Applet; 16.3 A Clock Applet; 16.4 A Timer Applet; 16.5 Applets and the Java 1.0 Event Model; 16.6 Exercises; Chapter 17: Sound; 17.1 Ringing the Bell; 17.2 Swing Aural Cues; 17.3 Playing Sounds with AudioClip; 17.4 Playing Sounds with javax.sound; 17.5 Streaming Sounds with javax.sound; 17.6 Synthesizing a MIDI Sequence; 17.7 Real-Time MIDI Sounds; 17.8 Exercises; Part IV: Enterprise Java APIs; Chapter 18: Database Access with SQL; 18.1 Accessing a Database; 18.2 Using Database Metadata; 18.3 Building a Database; 18.4 Using the API Database; 18.5 Atomic Transactions; 18.6 Exercises; Chapter 19: XML; 19.1 Parsing with JAXP and SAX; 19.2 Parsing and Manipulating with JAXP and DOM; 19.3 Transforming XML with XSLT; 19.4 An XML Pull Parser; 19.5 Exercises; Chapter 20: Servlets and JavaServer Pages; 20.1 Servlet Setup; 20.2 A Hello World Servlet; 20.3 Another Simple Servlet; 20.4 Servlet Initialization and Persistence: A Counter Servlet; 20.5 Hello JSP; 20.6 Hello JSP2; 20.7 Hello XML; 20.8 The MVC Paradigm for Web Applications; 20.9 ListManager Model Classes; 20.10 ListManager Controller; 20.11 ListManager Views; 20.12 Custom Tags in JSP 2.0; 20.13 Packaging a Web Application; 20.14 Exercises; Chapter 21: Remote Method Invocation; 21.1 Remote Banking; 21.2 A Bank Server; 21.3 A Persistent Bank Server; 21.4 A Multiuser Domain; 21.5 Remote MUD Interfaces; 21.6 The MUD Server; 21.7 The MudPlace Class; 21.8 The MudPerson Class; 21.9 A MUD Client; 21.10 Advanced RMI; 21.11 Exercises; Chapter 22: Example Index; 22.1 Symbols; 22.2 A; 22.3 B; 22.4 C; 22.5 D; 22.6 E; 22.7 F; 22.8 G; 22.9 H; 22.10 I; 22.11 J; 22.12 K; 22.13 L; 22.14 M; 22.15 N; 22.16 O; 22.17 P; 22.18 Q; 22.19 R; 22.20 S; 22.21 T; 22.22 U; 22.23 V; 22.24 W; 22.25 X; 22.26 Y; 22.27 Z; Colophon;