Java核心技术 卷II(第9版·英文版)

Java核心技术 卷II(第9版·英文版) pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:[美]Cay S. Horstmann
出品人:
页数:1118
译者:
出版时间:2013-7-1
价格:119.00
装帧:平装
isbn号码:9787115319487
丛书系列:
图书标签:
  • Java
  • 编程语言
  • 编程
  • Programming
  • 计算机
  • 英文版
  • 程序设计
  • 技术
  • Java
  • 核心
  • 技术
  • 第9版
  • 英文版
  • 编程
  • 面向对象
  • 计算机科学
  • 软件开发
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

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的读者选择奖。

目录信息

Contents
Preface v
Acknowledgments ix
Chapter 1: Streams and Files 1
1.1 Streams 2
1.1.1 Reading and Writing Bytes 2
1.1.2 The Complete Stream Zoo 4
1.1.3 Combining Stream Filters 9
1.2 Text Input and Output 13
1.2.1 How to Write Text Output 13
1.2.2 How to Read Text Input 16
1.2.3 Saving Objects in Text Format 16
1.2.4 Character Sets 20
1.3 Reading and Writing Binary Data 25
1.3.1 Random-Access Files 28
1.4 ZIP Archives 33
1.5 Object Streams and Serialization 36
1.5.1 Understanding the Object Serialization File Format 42
1.5.2 Modifying the Default Serialization Mechanism 48
1.5.3 Serializing Singletons and Typesafe Enumerations 50
1.5.4 Versioning 52
1.5.5 Using Serialization for Cloning 54
1.6 Working with Files 57
1.6.1 Paths 57
1.6.2 Reading and Writing Files 60
1.6.3 Copying, Moving, and Deleting Files 61
1.6.4 Creating Files and Directories 62
1.6.5 Getting File Information 63
1.6.6 Iterating over the Files in a Directory 64
1.6.7 ZIP File Systems 67
1.7 Memory-Mapped Files 68
1.7.1 The Buffer Data Structure 77
1.7.2 File Locking 79
1.8 Regular Expressions 81
Chapter 2: XML 93
2.1 Introducing XML 94
2.1.1 The Structure of an XML Document 96
2.2 Parsing an XML Document 99
2.3 Validating XML Documents 113
2.3.1 Document Type Definitions 114
2.3.2 XML Schema 122
2.3.3 A Practical Example 125
2.4 Locating Information with XPath 140
2.5 Using Namespaces 147
2.6 Streaming Parsers 150
2.6.1 Using the SAX Parser 150
2.6.2 Using the StAX Parser 156
2.7 Generating XML Documents 159
2.7.1 Documents without Namespaces 159
2.7.2 Documents with Namespaces 160
2.7.3 Writing Documents 161
2.7.4 An Example: Generating an SVG File 161
2.7.5 Writing an XML Document with StAX 164
2.8 XSL Transformations 173
Chapter 3: Networking 185
3.1 Connecting to a Server 185
3.1.1 Socket Timeouts 190
3.1.2 Internet Addresses 192
3.2 Implementing Servers 194
3.2.1 Serving Multiple Clients 197
3.2.2 Half-Close 201
3.3 Interruptible Sockets 202
3.4 Getting Web Data 210
3.4.1 URLs and URIs 210
3.4.2 Using a URLConnection to Retrieve Information 212
3.4.3 Posting Form Data 222
3.5 Sending E-Mail 230
Chapter 4: Database Programming 235
4.1 The Design of JDBC 236
4.1.1 JDBC Driver Types 236
4.1.2 Typical Uses of JDBC 238
4.2 The Structured Query Language 239
4.3 JDBC Configuration 245
4.3.1 Database URLs 246
4.3.2 Driver JAR Files 246
4.3.3 Starting the Database 247
4.3.4 Registering the Driver Class 248
4.3.5 Connecting to the Database 249
4.4 Executing SQL Statements 252
4.4.1 Managing Connections, Statements, and Result Sets 255
4.4.2 Analyzing SQL Exceptions 256
4.4.3 Populating a Database 258
4.5 Query Execution 262
4.5.1 Prepared Statements 263
4.5.2 Reading and Writing LOBs 269
4.5.3 SQL Escapes 271
4.5.4 Multiple Results 272
4.5.5 Retrieving Autogenerated Keys 273
4.6 Scrollable and Updatable Result Sets 274
4.6.1 Scrollable Result Sets 274
4.6.2 Updatable Result Sets 277
4.7 Row Sets 281
4.7.1 Constructing Row Sets 282
4.7.2 Cached Row Sets 282
4.8 Metadata 286
4.9 Transactions 296
4.9.1 Save Points 297
4.9.2 Batch Updates 298
4.9.3 Advanced SQL Types 300
4.10 Connection Management in Web and Enterprise Applications 302
Chapter 5: Internationalization 305
5.1 Locales 306
5.2 Number Formats 311
5.2.1 Currencies 318
5.3 Date and Time 319
5.4 Collation 328
5.4.1 Collation Strength 329
5.4.2 Decomposition 329
5.5 Message Formatting 336
5.5.1 Choice Formats 338
5.6 Text Files and Character Sets 340
5.6.1 Character Encoding of Source Files 340
5.7 Resource Bundles 341
5.7.1 Locating Resource Bundles 342
5.7.2 Property Files 343
5.7.3 Bundle Classes 344
5.8 A Complete Example 346
Chapter 6: Advanced Swing 363
6.1 Lists 364
6.1.1 The JList Component 364
6.1.2 List Models 370
6.1.3 Inserting and Removing Values 375
6.1.4 Rendering Values 377
6.2 Tables 381
6.2.1 A Simple Table 382
6.2.2 Table Models 386
6.2.3 Working with Rows and Columns 390
6.2.3.1 Column Classes 390
6.2.3.2 Accessing Table Columns 392
6.2.3.3 Resizing Columns 392
6.2.3.4 Resizing Rows 393
6.2.3.5 Selecting Rows, Columns, and Cells 394
6.2.3.6 Sorting Rows 395
6.2.3.7 Filtering Rows 396
6.2.3.8 Hiding and Displaying Columns 398
6.2.4 Cell Rendering and Editing 408
6.2.4.1 Rendering the Header 409
6.2.4.2 Cell Editing 410
6.2.4.3 Custom Editors 411
6.3 Trees 420
6.3.1 Simple Trees 421
6.3.1.1 Editing Trees and Tree Paths 431
6.3.2 Node Enumeration 440
6.3.3 Rendering Nodes 442
6.3.4 Listening to Tree Events 445
6.3.5 Custom Tree Models 453
6.4 Text Components 462
6.4.1 Change Tracking in Text Components 463
6.4.2 Formatted Input Fields 467
6.4.2.1 Integer Input 468
6.4.2.2 Behavior on Loss of Focus 468
6.4.2.3 Filters 470
6.4.2.4 Verifiers 471
6.4.2.5 Other Standard Formatters 472
6.4.2.6 Custom Formatters 474
6.4.3 The JSpinner Component 485
6.4.4 Displaying HTML with the JEditorPane 494
6.5 Progress Indicators 501
6.5.1 Progress Bars 501
6.5.2 Progress Monitors 505
6.5.3 Monitoring the Progress of Input Streams 509
6.6 Component Organizers and Decorators 514
6.6.1 Split Panes 514
6.6.2 Tabbed Panes 518
6.6.3 Desktop Panes and Internal Frames 524
6.6.4 Cascading and Tiling 527
6.6.5 Vetoing Property Settings 531
6.6.5.1 Dialogs in Internal Frames 533
6.6.5.2 Outline Dragging 534
6.6.6.3 Layers 543
Chapter 7: Advanced AWT 549
7.1 The Rendering Pipeline 550
7.2 Shapes 553
7.2.1 Using the Shape Classes 555
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.10.1 Obtaining Readers and Writers for Image File Types 608
7.10.2 Reading and Writing Files with Multiple Images 610
7.11 Image Manipulation 619
7.11.1 Constructing Raster Images 619
7.11.2 Filtering Images 626
7.12 Printing 636
7.12.1 Graphics Printing 637
7.12.2 Multiple-Page Printing 647
7.12.3 Print Preview 649
7.12.4 Print Services 659
7.12.5 Stream Print Services 664
7.12.6 Printing Attributes 664
7.13 The Clipboard 672
7.13.1 Classes and Interfaces for Data Transfer 674
7.13.2 Transferring Text 674
7.13.3 The Transferable Interface and Data Flavors 678
7.13.4 Building an Image Transferable 680
7.13.5 Transferring Java Objects via the System Clipboard 685
7.13.6 Using a Local Clipboard to Transfer Object References 689
7.14 Drag and Drop 689
7.14.1 Data Transfer Support in Swing 691
7.14.2 Drag Sources 696
7.14.3 Drop Targets 699
7.15 Platform Integration 707
7.15.1 Splash Screens 708
7.15.2 Launching Desktop Applications 713
7.15.3 The System Tray 719
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.3.1 Packaging Beans in JAR Files 731
8.3.2 Composing Beans in a Builder Environment 733
8.4 Naming Patterns for Bean Properties and Events 740
8.5 Bean Property Types 743
8.5.1 Simple Properties 744
8.5.2 Indexed Properties 744
8.5.3 Bound Properties 745
8.5.4 Constrained Properties 746
8.6 BeanInfo Classes 754
8.7 Property Editors 758
8.7.1 Writing Property Editors 762
8.7.1.1 String-Based Property Editors 762
8.7.1.2 GUI-Based Property Editors 765
8.8 Customizers 770
8.8.1 Writing a Customizer Class 772
8.9 JavaBeans Persistence 779
8.9.1 Using JavaBeans Persistence for Arbitrary Data 784
8.9.1.1 Writing a Persistence Delegate to Construct an Object 784
8.9.1.2 Constructing an Object from Properties 786
8.9.1.3 Constructing an Object with a Factory Method 787
8.9.1.4 Postconstruction Work 787
8.9.1.5 Transient Properties 788
8.9.2 A Complete Example for JavaBeans Persistence 791
Chapter 9: Security 803
9.1 Class Loaders 804
9.1.1 The Class Loader Hierarchy 806
9.1.2 Using Class Loaders as Namespaces 808
9.1.3 Writing Your Own Class Loader 808
9.2 Bytecode Verification 816
9.3 Security Managers and Permissions 821
9.3.1 Java Platform Security 822
9.3.2 Security Policy Files 826
9.3.3 Custom Permissions 834
9.3.4 Implementation of a Permission Class 835
9.4 User Authentication 842
9.4.1 JAAS Login Modules 849
9.5 Digital Signatures 858
9.5.1 Message Digests 859
9.5.2 Message Signing 862
9.5.3 Verifying a Signature 865
9.5.4 The Authentication Problem 868
9.5.5 Certificate Signing 870
9.5.6 Certificate Requests 872
9.6 Code Signing 873
9.6.1 JAR File Signing 873
9.6.2 Software Developer Certificates 878
9.7 Encryption 880
9.7.1 Symmetric Ciphers 881
9.7.2 Key Generation 882
9.7.3 Cipher Streams 887
9.7.4 Public Key Ciphers 888
Chapter 10: Scripting, Compiling, and Annotation Processing 893
10.1 Scripting for the Java Platform 894
10.1.1 Getting a Scripting Engine 894
10.1.2 Script Evaluation and Bindings 895
10.1.3 Redirecting Input and Output 898
10.1.4 Calling Scripting Functions and Methods 899
10.1.5 Compiling a Script 901
10.1.6 An Example: Scripting GUI Events 901
10.2 The Compiler API 907
10.2.1 Compiling the Easy Way 907
10.2.2 Using Compilation Tasks 907
10.2.3 An Example: Dynamic Java Code Generation 913
10.3 Using Annotations 919
10.3.1 An Example: Annotating Event Handlers 920
10.4 Annotation Syntax 926
10.5 Standard Annotations 931
10.5.1 Annotations for Compilation 932
10.5.2 Annotations for Managing Resources 932
10.5.3 Meta-Annotations 933
10.6 Source-Level Annotation Processing 935
10.7 Bytecode Engineering 943
10.7.1 Modifying Bytecodes at Load Time 949
Chapter 11: Distributed Objects 953
11.1 The Roles of Client and Server 954
11.2 Remote Method Calls 957
11.2.1 Stubs and Parameter Marshalling 957
11.3 The RMI Programming Model 959
11.3.1 Interfaces and Implementations 959
11.3.2 The RMI Registry 961
11.3.3 Deploying the Program 965
11.3.4 Logging RMI Activity 968
11.4 Parameters and Return Values in Remote Methods 970
11.4.1 Transferring Remote Objects 971
11.4.2 Transferring Nonremote Objects 971
11.4.3 Dynamic Class Loading 974
11.4.4 Remote References with Multiple Interfaces 979
11.4.5 Remote Objects and the equals, hashCode, and clone Methods 980
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.2.1 Using printf for Formatting Numbers 997
12.3 String Parameters 999
12.4 Accessing Fields 1005
12.4.1 Accessing Instance Fields 1005
12.4.2 Accessing Static Fields 1009
12.5 Encoding Signatures 1010
12.6 Calling Java Methods 1012
12.6.1 Instance Methods 1012
12.6.2 Static Methods 1016
12.6.3 Constructors 1017
12.6.4 Alternative Method Invocations 1018
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
12.10.1 Overview of the Windows Registry 1034
12.10.2 A Java Platform Interface for Accessing the Registry 1036
12.10.3 Implementation of Registry Access Functions as Native Methods 1036
Index 1051
· · · · · · (收起)

读后感

评分

卷二虽然是高级特性,但是其中的io、文件系统、正则表达式、网络、jdbc也是日常编程中非常常用的组件,不可不看。 个人认为这套书的组织比较混乱,如果把第二本的那三章重要的部分放进第一本,第一本的图形编程放到第二版,会更好一点。  

评分

卷二虽然是高级特性,但是其中的io、文件系统、正则表达式、网络、jdbc也是日常编程中非常常用的组件,不可不看。 个人认为这套书的组织比较混乱,如果把第二本的那三章重要的部分放进第一本,第一本的图形编程放到第二版,会更好一点。  

评分

武林至尊,宝刀屠龙,号令天下,莫敢不从,倚天不出,谁与争锋? 如果说“java核心技术卷1”是那屠龙刀,那么这本“java核心技术卷2”就是这倚天剑;绝对是java兵器谱上的必选书籍。 如此高深的技术书我还能保持轻松愉悦的阅读心情,真的是少有,将复杂而庞大的知识体系却如此...  

评分

这本书是Java语言中的经典,从刚开始的第一版到现今的第九版,这本书见证了Java语言发展的过程。五年前读过第一卷,如今读的是第九版的第二卷。 工作这几年发现Java知识体系很庞大,普通情况下没有多少项目可以把第二卷的这些高级特性都应用进去。但是在项目开发过程中会遇到许...

评分

整体上说,这并不是大部头,并没有必要从头一章章的啃到尾,如果慢慢啃的话,就有点得不偿失了,获得的知识弥补不了所消耗的时间。 虽然书很厚,但是可看的其实并不多,后面的索引和书中的API列举也占了不少篇幅,当我读到80%不到的时候,发现就已经完了。 如该书的副标题所示...  

用户评价

评分

这本Java圣经的最新版本,简直是开发人员案头的必备良品。从初学者到资深架构师,翻开它,总能找到让你眼前一亮的干货。特别是对于那些希望深入理解JVM底层运作机制的同行们,这本书的讲解简直是教科书级别的清晰。它不像某些入门书籍那样只停留在API的表面,而是真正地钻进了那些我们平时接触不到的细节里。比如,对于并发编程中那些令人头疼的内存模型和锁的实现细节,作者用极其严谨的笔触,配上精妙的图示,将复杂的概念化繁为简。我尤其欣赏它在讨论垃圾回收算法时的那种庖丁解牛般的分析能力,那种对性能调优的深刻洞察,直接能让你在生产环境遇到问题时,少走很多弯路。读完关于新的Lambda表达式和Stream API的那几章,你几乎可以立刻将老旧的、冗余的代码块重构得优雅且高效。这本书不仅仅是一本参考手册,更像是一位经验丰富的前辈,在你成长的每一步都默默地提供着关键的指导。它所涵盖的广度和深度,足以支撑你在Java生态系统里走得更远、更稳健。

评分

这本书的语言风格,对于非母语是英语的开发者来说,也具有极高的可读性。它没有使用过多晦涩难懂的学术术语,而是用一种近乎对话但又保持着高度专业性的语气来阐述技术细节。这一点我深有体会,在阅读某些其他技术文档时,常常需要反复查阅专业词典,但在阅读此书时,信息传递的效率明显提高。它对面向对象设计原则(SOLID等)的讨论,不是空泛的理论堆砌,而是紧密结合Java的具体实现场景,通过具体的代码示例来印证原则的有效性。比如,在解释接口隔离原则时,书中展示的如何通过合理的接口划分来降低模块间的耦合度,是其他很多书籍望尘莫及的。而且,它对安全相关的编程实践也给予了足够的重视,这在如今安全漏洞频发的环境下,显得尤为重要。它教会你如何写出既强大又健壮,同时兼顾安全的代码,这才是现代软件工程的要求。

评分

说实话,最初我有点担心最新的版本会不会过于偏向于某些特定的框架或最新的语言特性而忽略了核心基础的打磨。毕竟,Java世界变化太快了。然而,事实证明我的顾虑是多余的。这本书的基石依然是扎实到令人发指的核心Java概念。它对异常处理机制、反射(Reflection)的内部机制以及泛型的类型擦除的讲解,简直是业界典范。这种对语言基础的精深掌握,是构建任何复杂系统的前提。我特别欣赏作者在处理这些基础概念时所展现出的那种“历史感”——他会告诉你某个特性是为了解决早期版本中的什么痛点而引入的,这使得我们理解这些机制的动机更加清晰。对于准备认证考试或者想要冲击高级职位的开发者来说,这本书提供了足够的深度来应对那些刁钻的面试题。它不是那种读完后束之高阁的“玩具书”,而是真正融入你的日常编码思维的“工具书”。它的结构组织得非常合理,使得查找特定知识点也变得异常方便,这对于高强度的开发工作来说,是极大的加分项。

评分

如果非要给这本书挑一个“缺点”,那可能就是它需要你投入大量的时间和精力去消化吸收。它绝不是一本可以囫囵吞枣的快餐读物,更像是一趟深入Java腹地的探险之旅。我个人最喜欢它在面向未来技术趋势上的布局——虽然它扎根于核心,但对于如值类型(Value Types)的讨论,以及对JVM未来演进方向的预测,都展现了作者站在行业前沿的视野。这种前瞻性让这本书的生命周期得以延长,而不是在下一版发布后就迅速贬值。它提供了一种构建“百年老店”式代码库的思维框架,强调的是长期可维护性和性能潜力。这本书是为那些不满足于“能跑就行”的开发者准备的,它旨在培养能写出优雅、高效、可扩展的Java程序的“工匠”。每次在工作遇到瓶颈时,我都会重新翻开它,总能找到突破迷雾的钥匙。

评分

拿到这本书,我第一个感觉就是“厚重感”——不仅仅是物理上的分量,更是内容深度的体现。作为一名长期与企业级应用打交道的工程师,我最看重的是它在高级特性和框架集成方面的阐述。这本书对于网络编程和数据库连接池的讲解,远超出了标准教程的范畴。它没有仅仅满足于告诉你`java.net`包怎么用,而是深入剖析了NIO/NIO.2的异步I/O模型,这对于构建高性能的微服务架构至关重要。再说到模块化系统(Project Jigsaw),书中对如何设计和维护大型代码库,如何利用模块隔离依赖,提供了非常实用的蓝图。很多技术书籍在介绍新特性时往往虎头蛇尾,但这本书对每一个新增的API都进行了详尽的剖析,包括其设计哲学和潜在的陷阱。我甚至发现了一些我之前在实际项目中误解的概念,通过对书中特定章节的重读,茅塞顿开。这本书是那种你需要反复研读,每次都会有新收获的“宝藏书”。它强迫你思考“为什么是这样设计”,而不是仅仅满足于“如何使用”。

评分

入门来看非常不错,不过第二卷有些事界面相关的东西。可以跳过

评分

入门来看非常不错,不过第二卷有些事界面相关的东西。可以跳过

评分

入门来看非常不错,不过第二卷有些事界面相关的东西。可以跳过

评分

入门来看非常不错,不过第二卷有些事界面相关的东西。可以跳过

评分

入门来看非常不错,不过第二卷有些事界面相关的东西。可以跳过

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有