出版时间:2013-7-1 出版社:人民邮电出版社 作者:[美]Cay S. Horstmann,Gary Cornell
Tag标签:无
内容概要
Java经典图书最新版,前一版曾获得第13届Jolt生产效率大奖。
Java平台的权威指南,,介绍了Java支持企业级开发和桌面应用开发的最强大特性。新版做了全面更新,体现了Java SE 7的变化,并将对Java SE 7新特性的完整描述融入对Java基本概念的精辟阐述中。
Java核心技术 卷II:高级特性(第9版·英文版)(上、下册)专为做实际项目的程序员编写,是一本真实可信、不偏不倚且简单直接的Java教程,书中使用了全面测试过的代码示例来阐述关键的Java语言与库的特性,体现了最佳的编程实践。
Java核心技术 卷II:高级特性(第9版·英文版)(上、下册)两位作者均是业内权威人物,有丰富的写作和实战经验。
作者简介
Cay S. Horstmann 是Scala for the Impatient的作者,还与人合著了Core JavaServer Faces。他是圣何塞州立大学计算机科学专业的教授,还是一名Java Champion,并经常在很多开发者大会上演讲。Gary Cornell 在编程方面拥有20多年的写作和教育经验。他是Apress的创始人之一,编写了很多与开发相关的畅销书,是Jolt大奖的获奖者之一,还荣获过Visual Basic Magazine的读者选择奖。
书籍目录
ContentsPreface vAcknowledgments ixChapter 1: Streams and Files 11.1 Streams 21.1.1 Reading and Writing Bytes 21.1.2 The Complete Stream Zoo 41.1.3 Combining Stream Filters 91.2 Text Input and Output 131.2.1 How to Write Text Output 131.2.2 How to Read Text Input 161.2.3 Saving Objects in Text Format 161.2.4 Character Sets 201.3 Reading and Writing Binary Data 251.3.1 Random-Access Files 281.4 ZIP Archives 331.5 Object Streams and Serialization 361.5.1 Understanding the Object Serialization File Format 421.5.2 Modifying the Default Serialization Mechanism 481.5.3 Serializing Singletons and Typesafe Enumerations 501.5.4 Versioning 521.5.5 Using Serialization for Cloning 541.6 Working with Files 571.6.1 Paths 571.6.2 Reading and Writing Files 601.6.3 Copying, Moving, and Deleting Files 611.6.4 Creating Files and Directories 621.6.5 Getting File Information 631.6.6 Iterating over the Files in a Directory 641.6.7 ZIP File Systems 671.7 Memory-Mapped Files 681.7.1 The Buffer Data Structure 771.7.2 File Locking 791.8 Regular Expressions 81Chapter 2: XML 932.1 Introducing XML 942.1.1 The Structure of an XML Document 962.2 Parsing an XML Document 992.3 Validating XML Documents 1132.3.1 Document Type Definitions 1142.3.2 XML Schema 1222.3.3 A Practical Example 1252.4 Locating Information with XPath 1402.5 Using Namespaces 1472.6 Streaming Parsers 1502.6.1 Using the SAX Parser 1502.6.2 Using the StAX Parser 1562.7 Generating XML Documents 1592.7.1 Documents without Namespaces 1592.7.2 Documents with Namespaces 1602.7.3 Writing Documents 1612.7.4 An Example: Generating an SVG File 1612.7.5 Writing an XML Document with StAX 1642.8 XSL Transformations 173Chapter 3: Networking 1853.1 Connecting to a Server 1853.1.1 Socket Timeouts 1903.1.2 Internet Addresses 1923.2 Implementing Servers 1943.2.1 Serving Multiple Clients 1973.2.2 Half-Close 2013.3 Interruptible Sockets 2023.4 Getting Web Data 2103.4.1 URLs and URIs 2103.4.2 Using a URLConnection to Retrieve Information 2123.4.3 Posting Form Data 2223.5 Sending E-Mail 230Chapter 4: Database Programming 2354.1 The Design of JDBC 2364.1.1 JDBC Driver Types 2364.1.2 Typical Uses of JDBC 2384.2 The Structured Query Language 2394.3 JDBC Configuration 2454.3.1 Database URLs 2464.3.2 Driver JAR Files 2464.3.3 Starting the Database 2474.3.4 Registering the Driver Class 2484.3.5 Connecting to the Database 2494.4 Executing SQL Statements 2524.4.1 Managing Connections, Statements, and Result Sets 2554.4.2 Analyzing SQL Exceptions 2564.4.3 Populating a Database 2584.5 Query Execution 2624.5.1 Prepared Statements 2634.5.2 Reading and Writing LOBs 2694.5.3 SQL Escapes 2714.5.4 Multiple Results 2724.5.5 Retrieving Autogenerated Keys 2734.6 Scrollable and Updatable Result Sets 2744.6.1 Scrollable Result Sets 2744.6.2 Updatable Result Sets 2774.7 Row Sets 2814.7.1 Constructing Row Sets 2824.7.2 Cached Row Sets 2824.8 Metadata 2864.9 Transactions 2964.9.1 Save Points 2974.9.2 Batch Updates 2984.9.3 Advanced SQL Types 3004.10 Connection Management in Web and Enterprise Applications 302Chapter 5: Internationalization 3055.1 Locales 3065.2 Number Formats 3115.2.1 Currencies 3185.3 Date and Time 3195.4 Collation 3285.4.1 Collation Strength 3295.4.2 Decomposition 3295.5 Message Formatting 3365.5.1 Choice Formats 3385.6 Text Files and Character Sets 3405.6.1 Character Encoding of Source Files 3405.7 Resource Bundles 3415.7.1 Locating Resource Bundles 3425.7.2 Property Files 3435.7.3 Bundle Classes 3445.8 A Complete Example 346Chapter 6: Advanced Swing 3636.1 Lists 3646.1.1 The JList Component 3646.1.2 List Models 3706.1.3 Inserting and Removing Values 3756.1.4 Rendering Values 3776.2 Tables 3816.2.1 A Simple Table 3826.2.2 Table Models 3866.2.3 Working with Rows and Columns 3906.2.3.1 Column Classes 3906.2.3.2 Accessing Table Columns 3926.2.3.3 Resizing Columns 3926.2.3.4 Resizing Rows 3936.2.3.5 Selecting Rows, Columns, and Cells 3946.2.3.6 Sorting Rows 3956.2.3.7 Filtering Rows 3966.2.3.8 Hiding and Displaying Columns 3986.2.4 Cell Rendering and Editing 4086.2.4.1 Rendering the Header 4096.2.4.2 Cell Editing 4106.2.4.3 Custom Editors 4116.3 Trees 4206.3.1 Simple Trees 4216.3.1.1 Editing Trees and Tree Paths 4316.3.2 Node Enumeration 4406.3.3 Rendering Nodes 4426.3.4 Listening to Tree Events 4456.3.5 Custom Tree Models 4536.4 Text Components 4626.4.1 Change Tracking in Text Components 4636.4.2 Formatted Input Fields 4676.4.2.1 Integer Input 4686.4.2.2 Behavior on Loss of Focus 4686.4.2.3 Filters 4706.4.2.4 Verifiers 4716.4.2.5 Other Standard Formatters 4726.4.2.6 Custom Formatters 4746.4.3 The JSpinner Component 4856.4.4 Displaying HTML with the JEditorPane 4946.5 Progress Indicators 5016.5.1 Progress Bars 5016.5.2 Progress Monitors 5056.5.3 Monitoring the Progress of Input Streams 5096.6 Component Organizers and Decorators 5146.6.1 Split Panes 5146.6.2 Tabbed Panes 5186.6.3 Desktop Panes and Internal Frames 5246.6.4 Cascading and Tiling 5276.6.5 Vetoing Property Settings 5316.6.5.1 Dialogs in Internal Frames 5336.6.5.2 Outline Dragging 5346.6.6.3 Layers 543Chapter 7: Advanced AWT 5497.1 The Rendering Pipeline 5507.2 Shapes 5537.2.1 Using the Shape Classes 5557.3 Areas 5707.4 Strokes 5727.5 Paint 5817.6 Coordinate Transformations 5837.7 Clipping 5897.8 Transparency and Composition 5927.9 Rendering Hints 6017.10 Readers and Writers for Images 6087.10.1 Obtaining Readers and Writers for Image File Types 6087.10.2 Reading and Writing Files with Multiple Images 6107.11 Image Manipulation 6197.11.1 Constructing Raster Images 6197.11.2 Filtering Images 6267.12 Printing 6367.12.1 Graphics Printing 6377.12.2 Multiple-Page Printing 6477.12.3 Print Preview 6497.12.4 Print Services 6597.12.5 Stream Print Services 6647.12.6 Printing Attributes 6647.13 The Clipboard 6727.13.1 Classes and Interfaces for Data Transfer 6747.13.2 Transferring Text 6747.13.3 The Transferable Interface and Data Flavors 6787.13.4 Building an Image Transferable 6807.13.5 Transferring Java Objects via the System Clipboard 6857.13.6 Using a Local Clipboard to Transfer Object References 6897.14 Drag and Drop 6897.14.1 Data Transfer Support in Swing 6917.14.2 Drag Sources 6967.14.3 Drop Targets 6997.15 Platform Integration 7077.15.1 Splash Screens 7087.15.2 Launching Desktop Applications 7137.15.3 The System Tray 719Chapter 8: JavaBeans Components 7258.1 Why Beans? 7268.2 The Bean-Writing Process 7288.3 Using Beans to Build an Application 7318.3.1 Packaging Beans in JAR Files 7318.3.2 Composing Beans in a Builder Environment 7338.4 Naming Patterns for Bean Properties and Events 7408.5 Bean Property Types 7438.5.1 Simple Properties 7448.5.2 Indexed Properties 7448.5.3 Bound Properties 7458.5.4 Constrained Properties 7468.6 BeanInfo Classes 7548.7 Property Editors 7588.7.1 Writing Property Editors 7628.7.1.1 String-Based Property Editors 7628.7.1.2 GUI-Based Property Editors 7658.8 Customizers 7708.8.1 Writing a Customizer Class 7728.9 JavaBeans Persistence 7798.9.1 Using JavaBeans Persistence for Arbitrary Data 7848.9.1.1 Writing a Persistence Delegate to Construct an Object 7848.9.1.2 Constructing an Object from Properties 7868.9.1.3 Constructing an Object with a Factory Method 7878.9.1.4 Postconstruction Work 7878.9.1.5 Transient Properties 7888.9.2 A Complete Example for JavaBeans Persistence 791Chapter 9: Security 8039.1 Class Loaders 8049.1.1 The Class Loader Hierarchy 8069.1.2 Using Class Loaders as Namespaces 8089.1.3 Writing Your Own Class Loader 8089.2 Bytecode Verification 8169.3 Security Managers and Permissions 8219.3.1 Java Platform Security 8229.3.2 Security Policy Files 8269.3.3 Custom Permissions 8349.3.4 Implementation of a Permission Class 8359.4 User Authentication 8429.4.1 JAAS Login Modules 8499.5 Digital Signatures 8589.5.1 Message Digests 8599.5.2 Message Signing 8629.5.3 Verifying a Signature 8659.5.4 The Authentication Problem 8689.5.5 Certificate Signing 8709.5.6 Certificate Requests 8729.6 Code Signing 8739.6.1 JAR File Signing 8739.6.2 Software Developer Certificates 8789.7 Encryption 8809.7.1 Symmetric Ciphers 8819.7.2 Key Generation 8829.7.3 Cipher Streams 8879.7.4 Public Key Ciphers 888Chapter 10: Scripting, Compiling, and Annotation Processing 89310.1 Scripting for the Java Platform 89410.1.1 Getting a Scripting Engine 89410.1.2 Script Evaluation and Bindings 89510.1.3 Redirecting Input and Output 89810.1.4 Calling Scripting Functions and Methods 89910.1.5 Compiling a Script 90110.1.6 An Example: Scripting GUI Events 90110.2 The Compiler API 90710.2.1 Compiling the Easy Way 90710.2.2 Using Compilation Tasks 90710.2.3 An Example: Dynamic Java Code Generation 91310.3 Using Annotations 91910.3.1 An Example: Annotating Event Handlers 92010.4 Annotation Syntax 92610.5 Standard Annotations 93110.5.1 Annotations for Compilation 93210.5.2 Annotations for Managing Resources 93210.5.3 Meta-Annotations 93310.6 Source-Level Annotation Processing 93510.7 Bytecode Engineering 94310.7.1 Modifying Bytecodes at Load Time 949Chapter 11: Distributed Objects 95311.1 The Roles of Client and Server 95411.2 Remote Method Calls 95711.2.1 Stubs and Parameter Marshalling 95711.3 The RMI Programming Model 95911.3.1 Interfaces and Implementations 95911.3.2 The RMI Registry 96111.3.3 Deploying the Program 96511.3.4 Logging RMI Activity 96811.4 Parameters and Return Values in Remote Methods 97011.4.1 Transferring Remote Objects 97111.4.2 Transferring Nonremote Objects 97111.4.3 Dynamic Class Loading 97411.4.4 Remote References with Multiple Interfaces 97911.4.5 Remote Objects and the equals, hashCode, and clone Methods 98011.5 Remote Object Activation 980Chapter 12: Native Methods 98912.1 Calling a C Function from a Java Program 99012.2 Numeric Parameters and Return Values 99712.2.1 Using printf for Formatting Numbers 99712.3 String Parameters 99912.4 Accessing Fields 100512.4.1 Accessing Instance Fields 100512.4.2 Accessing Static Fields 100912.5 Encoding Signatures 101012.6 Calling Java Methods 101212.6.1 Instance Methods 101212.6.2 Static Methods 101612.6.3 Constructors 101712.6.4 Alternative Method Invocations 101812.7 Accessing Array Elements 101912.8 Handling Errors 102312.9 Using the Invocation API 102812.10 A Complete Example: Accessing the Windows Registry 103412.10.1 Overview of the Windows Registry 103412.10.2 A Java Platform Interface for Accessing the Registry 103612.10.3 Implementation of Registry Access Functions as Native Methods 1036Index 1051
编辑推荐
Java经典图书最新版,前一版曾获得第13届Jolt生产效率大奖。 Java平台的权威指南,,介绍了Java支持企业级开发和桌面应用开发的最强大特性。新版做了全面更新,体现了Java SE 7的变化,并将对Java SE 7新特性的完整描述融入对Java基本概念的精辟阐述中。 Java核心技术 卷II:高级特性(第9版·英文版)(上、下册)专为做实际项目的程序员编写,是一本真实可信、不偏不倚且简单直接的Java教程,书中使用了全面测试过的代码示例来阐述关键的Java语言与库的特性,体现了最佳的编程实践。 Java核心技术 卷II:高级特性(第9版·英文版)(上、下册)两位作者均是业内权威人物,有丰富的写作和实战经验。
图书封面
图书标签Tags
无
评论、评分、阅读与下载