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.
The revised edition of the classic Core Java™, Volume II–Advanced Features, covers advanced user-interface programming and the enterprise features of the Java SE 6 platform. Like Volume I (which covers the core language and library features), this volume has been updated for Java SE 6 and new coverage is highlighted throughout. All sample programs have been carefully crafted to illustrate the latest programming techniques, displaying best-practices solutions to the types of real-world problems professional developers encounter.
Volume II includes new sections on the StAX API, JDBC 4, compiler API, scripting framework, splash screen and tray APIs, and many other Java SE 6 enhancements. In this book, the authors focus on the more advanced features of the Java language, including complete coverage of
For thorough coverage of Java fundamentals–including interfaces and inner classes, GUI programming with Swing, exception handling, generics, collections, and concurrency–look for the eighth edition of Core Java™, Volume I–Fundamentals (ISBN: 978-0-13-235476-9).
Nonlinear Code Management in EJB3
Visit the author's website at horstmann.com/corejava.
Core Java Security: Class Loaders, Security Managers, and Encryption
Preface xv
Acknowledgments xix
Chapter 1: Streams and Files 1
Streams 2
Text Input and Output 11
Reading and Writing Binary Data 23
ZIP Archives 32
Object Streams and Serialization 39
File Management 59
New I/O 65
Regular Expressions 75
Chapter 2: XML 87
Introducing XML 88
Parsing an XML Document 93
Validating XML Documents 105
Locating Information with XPath 129
Using Namespaces 136
Streaming Parsers 138
Generating XML Documents 146
XSL Transformations 157
Chapter 3: Networking 169
Connecting to a Server 170
Implementing Servers 177
Interruptible Sockets 184
Sending E-Mail 191
Making URL Connections 196
Chapter 4: Database Programming 217
The Design of JDBC 218
The Structured Query Language 222
JDBC Configuration 227
Executing SQL Statements 232
Query Execution 242
Scrollable and Updatable Result Sets 254
Row Sets 260
Metadata 263
Transactions 273
Connection Management in Web and Enterprise Applications 278
Introduction to LDAP 279
Chapter 5: Internationalization 297
Locales 298
Number Formats 303
Date and Time 310
Collation 318
Message Formatting 324
Text Files and Character Sets 328
Resource Bundles 329
A Complete Example 333
Chapter 6: Advanced Swing 351
Lists 352
Tables 370
Trees 405
Text Components 442
Progress Indicators 479
Component Organizers 492
Chapter 7: Advanced AWT 521
The Rendering Pipeline 522
Shapes 524
Areas 540
Strokes 542
Paint 550
Coordinate Transformations 552
Clipping 557
Transparency and Composition 559
Rendering Hints 568
Readers and Writers for Images 575
Image Manipulation 585
Printing 601
The Clipboard 635
Drag and Drop 652
Platform Integration 668
Chapter 8: Javabeans Components 685
Why Beans? 686
The Bean-Writing Process 688
Using Beans to Build an Application 690
Naming Patterns for Bean Properties and Events 698
Bean Property Types 701
BeanInfo Classes 710
Property Editors 713
Customizers 723
JavaBeans Persistence 732
Chapter 9: Security 755
Class Loaders 756
Bytecode Verification 767
Security Managers and Permissions 771
User Authentication 790
Digital Signatures 805
Code Signing 822
Encryption 828
Chapter 10: Distributed Objects 841
The Roles of Client and Server 842
Remote Method Calls 845
The RMI Programming Model 846
Parameters and Return Values in Remote Methods 856
Remote Object Activation 865
Web Services and JAX-WS 871
Chapter 11: Scripting, Compiling, and Annotation Processing 883
Scripting for the Java Platform 884
The Compiler API 895
Using Annotations 905
Annotation Syntax 911
Standard Annotations 915
Source-Level Annotation Processing 919
Bytecode Engineering 926
Chapter 12: Native Methods 935
Calling a C Function from a Java Program 936
Numeric Parameters and Return Values 942
String Parameters 944
Accessing Fields 950
Encoding Signatures 954
Calling Java Methods 956
Accessing Array Elements 962
Handling Errors 966
Using the Invocation API 970
A Complete Example: Accessing the Windows Registry 975
Index 991