Preface xiii Acknowledgments xvii Chapter 1: Streams 1 1.1 From Iterating to Stream Operations 1 1.2 Stream Creation 4 1.3 The filter, map, and flatMap Methods 10 1.4 Extracting Substreams and Combining Streams 12 1.5 Other Stream Transformations 13 1.6 Simple Reductions 14 1.7 The Optional Type 16 1.
8 Collecting Results 24 1.9 Collectors 25 1.10 Reduction Operations 43 1.11 Gatherers 45 1.12 Primitive Type Streams 52 1.13 Parallel Streams 58 Chapter 2: Input and Output 63 2.1 Input/Output Streams 63 2.2 Reading and Writing Binary Data 87 2.
3 Working with Files 96 2.4 Memory-Mapped Files 113 2.5 File Locking 123 2.6 Object Input/Output Streams and Serialization 126 2.7 Regular Expressions 150 Chapter 3: XML 167 3.1 Introducing XML 167 3.2 The Structure of an XML Document 169 3.3 Parsing an XML Document 172 3.
4 Validating XML Documents 181 3.5 Locating Information with XPath 199 3.6 Using Namespaces 203 3.7 Streaming Parsers 206 3.8 Generating XML Documents 215 3.9 XSL Transformations 225 Chapter 4: Networking 237 4.1 Connecting to a Server 237 4.2 Implementing Servers 245 4.
3 Getting Web Data 259 4.4 The HTTP Client 277 4.5 The Simple HTTP Server 286 4.6 Sending E-Mail 290 Chapter 5: Database Programming 293 5.1 The Design of JDBC 293 5.2 The Structured Query Language 296 5.3 JDBC Configuration 302 5.4 Working with JDBC Statements 307 5.
5 Query Execution 317 5.6 Scrollable and Updatable Result Sets 328 5.7 Row Sets 334 5.8 Metadata 338 5.9 Transactions 345 5.10 Connection Management in Web and Enterprise Applications 351 Chapter 6: The Date and Time API 353 6.1 The Time Line 353 6.2 Local Dates 357 6.
3 Date Adjusters 362 6.4 Local Time 364 6.5 Zoned Time 365 6.6 Formatting and Parsing 369 6.7 Interoperating with Legacy Code 375 Chapter 7: Internationalization 377 7.1 Locales 377 7.2 Number Formats 384 7.3 Date and Time 393 7.
4 Collation and Normalization 397 7.5 Message Formatting 402 7.6 Text Boundaries 407 7.7 Text Input and Output 408 7.8 Resource Bundles 411 7.9 A Complete Example 415 Chapter 8: Compiling and Scripting 421 8.1 The Compiler API 421 8.2 Scripting for the Java Platform 430 Chapter 9: Security 441 9.
1 Class Loaders 442 9.2 User Authentication 455 9.3 Digital Signatures 465 9.4 Encryption 480 Chapter 10: Graphical User Interface Programming 491 10.1 A History of Java User Interface Toolkits 491 10.2 Displaying Frames 493 10.3 Displaying Information in a Component 499 10.4 Event Handling 520 10.
5 The Preferences API 544 Chapter 11: User Interface Components with Swing 551 11.1 Swing and the Model-View-Controller Design Pattern 551 11.2 Introduction to Layout Management 556 11.3 Text Input 562 11.4 Choice Components 569 11.5 Menus 588 11.6 The Grid Bag Layout 606 11.7 Custom Layout Managers 616 11.
8 Dialog Boxes 620 Chapter 12: Advanced Swing and Graphics 645 12.1 Tables 645 12.2 Working with Rows and Columns 653 12.3 Cell Rendering and Editing 669 12.4 Trees 680 12.5 Advanced AWT 719 12.6 Raster Images 764 12.7 Printing 789 Chapter 13: The Foreign Functions and Memory API 823 13.
1 Using JNI to Call C Code from a Java Program 824 13.2 Using FFM to Call a Foreign Function 830 13.3 Arenas 831 13.4 Memory Segments 832 13.5 Memory Layout 834 13.6 Looking Up and Invoking Foreign Functions 837 13.7 Callbacks 844 13.8 Advanced Topics 847 Index 853.