HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Fully updated to reflect Java SE 7 language changes, Core Java®, Volume II—Advanced Features, Ninth Edition, is the definitive guide to Java’s most powerful features for enterprise and desktop application development.
Designed for serious programmers, this reliable, unbiased, no-nonsense tutorial illuminates advanced Java language and library features with thoroughly tested code examples. As in previous editions, all code is easy to understand and displays modern best-practice solutions to the realworld challenges faced by professional developers.
Volume II quickly brings you up-to-speed on key Java SE 7 enhancements, ranging from the new file I/O API to improved concurrency utilities. All code examples are updated to reflect these enhancements. Complete descriptions of new language and platform features are highlighted and integrated with insightful explanations of advanced Java programming techniques. You’ll learn all you need to build robust production software with
For detailed coverage of fundamental Java SE 7 features, including objects, classes, inheritance, interfaces, reflection, events, exceptions, graphics, Swing, generics, collections, concurrency, and debugging, look for Core Java™, Volume I—Fundamentals, Ninth Edition (ISBN-13: 978-0-13-708189-9).
Preface xv
Acknowledgments xix
Chapter 1: Streams and Files 1
1.1 Streams 2
1.2 Text Input and Output 13
1.3 Reading and Writing Binary Data 25
1.4 ZIP Archives 33
1.5 Object Streams and Serialization 36
1.6 Working with Files 57
1.7 Memory-Mapped Files 68
1.8 Regular Expressions 81
Chapter 2: XML 93
2.1 Introducing XML 94
2.2 Parsing an XML Document 99
2.3 Validating XML Documents 113
2.4 Locating Information with XPath 140
2.5 Using Namespaces 147
2.6 Streaming Parsers 150
2.7 Generating XML Documents 159
2.8 XSL Transformations 173
Chapter 3: Networking 185
3.1 Connecting to a Server 185
3.2 Implementing Servers 194
3.3 Interruptible Sockets 202
3.4 Getting Web Data 210
3.5 Sending E-Mail 230
Chapter 4: Database Programming 235
4.1 The Design of JDBC 236
4.2 The Structured Query Language 239
4.3 JDBC Configuration 245
4.4 Executing SQL Statements 252
4.5 Query Execution 262
4.6 Scrollable and Updatable Result Sets 274
4.7 Row Sets 281
4.8 Metadata 286
4.9 Transactions 296
4.10 Connection Management in Web and Enterprise Applications 302
Chapter 5: Internationalization 305
5.1 Locales 306
5.2 Number Formats 311
5.3 Date and Time 319
5.4 Collation 328
5.5 Message Formatting 336
5.6 Text Files and Character Sets 340
5.7 Resource Bundles 341
5.8 A Complete Example 346
Chapter 6: Advanced Swing 363
6.1 Lists 364
6.2 Tables 381
6.3 Trees 420
6.4 Text Components 462
6.5 Progress Indicators 501
6.6 Component Organizers and Decorators 514
Chapter 7: Advanced AWT 549
7.1 The Rendering Pipeline 550
7.2 Shapes 553
7.3 Areas 570
7.4 Strokes 572
7.5 Paint 581
7.6 Coordinate Transformations 583
7.7 Clipping 589
7.8 Transparency and Composition 592
7.9 Rendering Hints 601
7.10 Readers and Writers for Images 608
7.11 Image Manipulation 619
7.12 Printing 636
7.13 The Clipboard 672
7.14 Drag and Drop 689
7.15 Platform Integration 707
Chapter 8: JavaBeans Components 725
8.1 Why Beans? 726
8.2 The Bean-Writing Process 728
8.3 Using Beans to Build an Application 731
8.4 Naming Patterns for Bean Properties and Events 740
8.5 Bean Property Types 743
8.6 BeanInfo Classes 754
8.7 Property Editors 758
8.8 Customizers 770
8.9 JavaBeans Persistence 779
Chapter 9: Security 803
9.1 Class Loaders 804
9.2 Bytecode Verification 816
9.3 Security Managers and Permissions 821
9.4 User Authentication 842
9.5 Digital Signatures 858
9.6 Code Signing 873
9.7 Encryption 880
Chapter 10: Scripting, Compiling, and Annotation Processing 893
10.1 Scripting for the Java Platform 894
10.2 The Compiler API 907
10.3 Using Annotations 919
10.4 Annotation Syntax 926
10.5 Standard Annotations 931
10.6 Source-Level Annotation Processing 935
10.7 Bytecode Engineering 943
Chapter 11: Distributed Objects 953
11.1 The Roles of Client and Server 954
11.2 Remote Method Calls 957
11.3 The RMI Programming Model 959
11.4 Parameters and Return Values in Remote Methods 970
11.5 Remote Object Activation 980
Chapter 12: Native Methods 989
12.1 Calling a C Function from a Java Program 990
12.2 Numeric Parameters and Return Values 997
12.3 String Parameters 999
12.4 Accessing Fields 1005
12.5 Encoding Signatures 1010
12.6 Calling Java Methods 1012
12.7 Accessing Array Elements 1019
12.8 Handling Errors 1023
12.9 Using the Invocation API 1028
12.10 A Complete Example: Accessing the Windows Registry 1034
Index 1051