编辑推荐

?Java领域具有影响力和价值的著作之一
?曾获Jolt生产效率大奖的Java经典图书新版
?Java平台的权V指南,全面体现JavaSE8的新变化

长期以来,对希望为真是应用编写健壮的Java代码的有经验的程序员而言,《Java核心技术》一直被认为是领先且严谨的教程与参考资料。为了反映万众瞩目、带来很多创新的JavaSE8,《Java核心技术卷II:高级特性(第10版)》做了大量更新。书中的素材经过了重写或重新组织,以说明Java用于企业和桌面开发的强大的新特性、习惯用法和实践。数百个编程示例也做了更新,全部悉心设计,便于读者理解和实际应用。
Java核心技术 卷II 高级特性(第10版 英文版)(上下册)》为希望解决现实问题的严谨的程序员而编写,作者CayHorstmann希望帮助读者深入理解当今之Java语言和库。《Java核心技术 卷II 高级特性(第10版 英文版)(上下册)》是两卷本《Java核心技术》的第二卷,这一卷深入介绍了新的流API、日期/时间/日历库、高级Swing、安全、代码处理等高级主题。
对于想学习JavaSE8的有经验的程序员,《Java核心技术 卷II 高级特性(第10版 英文版)(上下册)》是通往开发者信任20多年的Java平台的可靠、实用且完备的指南。
通过《Java核心技术 卷II 高级特性(第10版 英文版)(上下册)》读者将学到:
●使用新的流库更灵活、更高效地处理集合;
●高效地访问文件和目录,读写二进制或文本数据,以及序列化对象;
●使用JavaSE8的正则表达式包;
●在Java中充分利用XML:解析、验证、XPath、文档生成和XSL等;
●高效地将Java程序连接到网络服务;
●使用JDBC4.2进行数据库编程;
●借助新的java.timeAPI优雅地克服日期/时间编程的复杂性;
●利用本地化日期/时间、数值、文本和GUI编写国际化程序;
●使用脚本API、编译器API和注解处理器处理代码;
●通过类加载器、字节码验证、安全管理器、权限、用户认证、数字签名、代码签名和加密增强安全性;
●掌握列表、表格、树、文本和进度指示器等高级Swing组件;
●使用Java2DAPI生成高质量图形;
●使用JNI本地方法利用其他语言编写的代码。

内容简介

Java核心技术 卷II 高级特性(第10版 英文版)(上下册)》是经典图书《Java核心技术卷II:高级特性》的新版。这一版针对JavaSE8平台进行了全面更新,以反映JavaSE8的特性。
书中全面覆盖Java技术的高级主题,包括JavaSE8流库,输入与输出,XML,网络,数据库编程,日期与时间API,国际化,脚本、编译与注解处理,安全,高级Swing,高级AWT,以及本地方法等内容。《Java核心技术 卷II 高级特性(第10版 英文版)(上下册)》对Java技术的阐述精que到位,叙述方式深入浅出,并包含大量程序示例,让读者充分理解Java语言以及Java类库的相关高级特性。

作者简介

CayS.Horstmann是CoreJava?fortheImpatient(2015)、JavaSE8fortheReallyImpatient(2014)和ScalafortheImpatient(2012)等图书的作者。他还有很多写给职业程序员和计算机专业学生的专著。他是圣何塞州立大学的计算机科学教授,还是一名JavaChampion。

目录

目录

Chapter1:TheJavaSE8StreamLibrary/JavaSE8流库  1
1.1 FromIteratingtoStreamOperations/从迭代到流操作  2
1.2 StreamCreation/创建流  5
1.3 Thefilter,map,andflatMapMethods/filter、map和flatMap方法  9
1.4 ExtractingSubstreamsandConcatenatingStreams/提取子流和连接流  10
1.5 OtherStreamTransformations/其他流变换  11
1.6 SimpleReductions/简单规约  12
1.7 TheOptionalType/Optional类型  13
1.7.1 HowtoWorkwithOptionalValues/如何使用Optional值  14
1.7.2 HowNottoWorkwithOptionalValues/不使用Optional值会有什么问题  15
1.7.3 CreatingOptionalValues/创建Optional值  16
1.7.4 ComposingOptionalValueFunctionswithflatMap/使用flatMap组合Optional值函数  16
1.8 CollectingResults/收集结果  19
1.9 CollectingintoMaps/收集到Map中  24
1.10 GroupingandPartitioning/分组与分区  28
1.11 DownstreamCollectors/下游的收集器  29
1.12 ReductionOperations/规约操作  33
1.13 PrimitiveTypeStreams/基本类型的流  36
1.14 ParallelStreams/并行流  41
Chapter2:InputandOutput/输入与输出  47
2.1 Input/OutputStreams/输入/输出流  48
2.1.1 ReadingandWritingBytes/读写字节  48
2.1.2 TheCompleteStreamZoo/流谱系概览  51
2.1.3 CombiningInput/OutputStreamFilters/组合输入/输出流过滤器  55
2.2 TextInputandOutput/文本输入与输出  60
2.2.1 HowtoWriteTextOutput/输出文本  60
2.2.2 HowtoReadTextInput/输入文本  62
2.2.3 SavingObjectsinTextFormat/以文本格式保存对象  63
2.2.4 CharacterEncodings/字符编码  67
2.3 ReadingandWritingBinaryData/读写二进制数据  69
2.3.1 TheDataInputandDataOutputinterfaces/DataInput和DataOutput接口  69
2.3.2 Random-AccessFiles/随机访问文件  72
2.3.3 ZIPArchives/ZIP文档  77
2.4 ObjectInput/OutputStreamsandSerialization/对象输入/输出流与序列化  80
2.4.1 SavingandLoadingSerializableObjects/序列化对象的保存与加载  80
2.4.2 UnderstandingtheObjectSerializationFileFormat/理解对象序列化文件格式  85
2.4.3 ModifyingtheDefaultSerializationMechanism/修改默认的序列化机制  92
2.4.4 SerializingSingletonsandTypesafeEnumerations/序列化单例和类型安全的枚举  94
2.4.5 Versioning/版本管理  95
2.4.6 UsingSerializationforCloning/将序列化用于克隆  98
2.5 WorkingwithFiles/处理文件  100
2.5.1 Paths/路径  101
2.5.2 ReadingandWritingFiles/读写文件  104
2.5.3 CreatingFilesandDirectories/创建文件与目录  105
2.5.4 Copying,Moving,andDeletingFiles/复制、移动和删除文件  106
2.5.5 GettingFileInformation/获取文件信息  108
2.5.6 VisitingDirectoryEntries/访问目录条目  110
2.5.7 UsingDirectoryStreams/使用目录流  111
2.5.8 ZIPFileSystems/ZIP文件系统  115
2.6 Memory-MappedFiles/内存映射文件  116
2.6.1 Memory-MappedFilePerformance/内存映射文件的性能  116
2.6.2 TheBufferDataStructure/缓冲区数据结构  124
2.6.3 FileLocking/文件锁  126
2.7 RegularExpressions/正则表达式  128
Chapter3:XML  143
3.1 IntroducingXML/XML简介  144
3.1.1 TheStructureofanXMLDocument/XML文档的结构  146
3.2 ParsinganXMLDocument/解析XML文档  149
3.3 ValidatingXMLDocuments/验证XML文档  162
3.3.1 DocumentTypeDefinitions/文档类型定义  163
3.3.2 XMLSchema/XML模式  172
3.3.3 APracticalExample/实用示例  175
3.4 LocatingInformationwithXPath/使用XPath定位信息  190
3.5 UsingNamespaces/使用命名空间  196
3.6 StreamingParsers/流解析器  199
3.6.1 UsingtheSAXParser/使用SAX解析器  199
3.6.2 UsingtheStAXParser/使用StAX解析器  205
3.7 GeneratingXMLDocuments/生成XML文档  208
3.7.1 DocumentswithoutNamespaces/不带命名空间的文档  209
3.7.2 DocumentswithNamespaces/带命名空间的文档  209
3.7.3 WritingDocuments/写文档  210
3.7.4 AnExample:GeneratinganSVGFile/示例:生成SVG文件  211
3.7.5 WritinganXMLDocumentwithStAX/使用StAX写XML文档  214
3.8 XSLTransformations/XSL转换  222
Chapter4:Networking/网络  233
4.1 ConnectingtoaServer/连接到服务器  233
4.1.1 UsingTelnet/使用Telnet  233
4.1.2 ConnectingtoaServerwithJava/使用Java连接到服务器  236
4.1.3 SocketTimeouts/套接字超时  238
4.1.4 InternetAddresses/因特网地址  239
4.2 ImplementingServers/实现服务器  241
4.2.1 ServerSockets/服务器套接字  242
4.2.2 ServingMultipleClients/为多个客户端服务  245
4.2.3 Half-Close/半关闭  249
4.3 InterruptibleSockets/可中断套接字  250
4.4 GettingWebData/获取Web数据  257
4.4.1 URLsandURIs/URL和URI  257
4.4.2 UsingaURLConnectiontoRetrieveInformation/使用URLConnection获取信息  259
4.4.3 PostingFormData/提交表单数据  267
4.5 SendingE-Mail/发送电子邮件  277
Chapter5:DatabaseProgramming/数据库编程  281
5.1 TheDesignofJDBC/JDBC的设计  282
5.1.1 JDBCDriverTypes/JDBC驱动程序分类  283
5.1.2 TypicalUsesofJDBC/JDBC的典型用法  284
5.2 TheStructuredQueryLanguage/结构化查询语言  285
5.3 JDBCConfiguration/JDBC配置  291
5.3.1 DatabaseURLs/数据库URL  292
5.3.2 DriverJARFiles/驱动程序JAR文件  292
5.3.3 StartingtheDatabase/启动数据库  293
5.3.4 RegisteringtheDriverClass/注册驱动程序类  294
5.3.5 ConnectingtotheDatabase/连接到数据库  294
5.4 WorkingwithJDBCStatements/使用JDBC语句  297
5.4.1 ExecutingSQLStatements/执行SQL语句  298
5.4.2 ManagingConnections,Statements,andResultSets/管理连接、语句和结果集  301
5.4.3 AnalyzingSQLExceptions/分析SQL异常  302
5.4.4 PopulatingaDatabase/填充数据库  305
5.5 QueryExecution/执行查询  309
5.5.1 PreparedStatements/预备语句  309
5.5.2 ReadingandWritingLOBs/读写LOB  316
5.5.3 SQLEscapes/SQL转义  318
5.5.4 MultipleResults/多结果集  319
5.5.5 RetrievingAutogeneratedKeys/获取自动生成的主键  320
5.6 ScrollableandUpdatableResultSets/可滚动和可更新的结果集  321
5.6.1 ScrollableResultSets/可滚动的结果集  321
5.6.2 UpdatableResultSets/可更新的结果集  324
5.7 RowSets/行集  328
5.7.1 ConstructingRowSets/构建行集  329
5.7.2 CachedRowSets/缓存的行集  329
5.8 Metadata/元数据  333
5.9 Transactions/事务  344
5.9.1 ProgrammingTransactionswithJDBC/使用JDBC编程实现事务  344
5.9.2 SavePoints/保存点  345
5.9.3 BatchUpdates/批量更新  345
5.10 AdvancedSQLTypes/高级SQL类型  347
5.11 ConnectionManagementinWebandEnterpriseApplications/Web与企业应用中的连接管理  349
Chapter6:TheDateandTimeAPI/日期与时间API  351
6.1 TheTimeLine/时间线  352
6.2 LocalDates/本地日期  355
6.3 DateAdjusters/日期调整  358
6.4 LocalTime/本地时间  360
6.5 ZonedTime/时区时间  361
6.6 FormattingandParsing/格式化与解析  365
6.7 InteroperatingwithLegacyCode/与遗留代码互操作  369
Chapter7:Internationalization/国际化  371
7.1 Locales/地域  372
7.2 NumberFormats/数字格式  378
7.3 Currencies/货币  384
7.4 DateandTime/日期与时间  385
7.5 CollationandNormalization/排序规则与标准化  393
7.6 MessageFormatting/消息格式化  400
7.6.1 FormattingNumbersandDates/格式化数字和日期  400
7.6.2 ChoiceFormats/choice格式化选项  402
7.7 TextInputandOutput/文本输入与输出  404
7.7.1 TextFiles/文本文件  405
7.7.2 LineEndings/文本行结尾符号  405
7.7.3 TheConsole/控制台  405
7.7.4 LogFiles/日志文件  406
7.7.5 TheUTF-8ByteOrderMark/UTF-8字节顺序标记  406
7.7.6 CharacterEncodingofSourceFiles/源文件的字符编码  407
7.8 ResourceBundles/资源包  408
7.8.1 LocatingResourceBundles/定位资源包  409
7.8.2 PropertyFiles/属性文件  410
7.8.3 BundleClasses/包类  411
7.9 ACompleteExample/完整示例  413
Chapter8:Scripting,Compiling,andAnnotationProcessing/脚本、编译与注解处理  429
8.1 ScriptingfortheJavaPlatform/Java平台的脚本  430
8.1.1 GettingaScriptingEngine/获得脚本引擎  430
8.1.2 ScriptEvaluationandBindings/脚本求值与绑定  431
8.1.3 RedirectingInputandOutput/重定向输入与输出  434
8.1.4 CallingScriptingFunctionsandMethods/调用脚本函数和方法  435
8.1.5 CompilingaScript/编译脚本  437
8.1.6 AnExample:ScriptingGUIEvents/示例:用脚本处理GUI事件  437
8.2 TheCompilerAPI/编译器API  443
8.2.1 CompilingtheEasyWay/编译的简单使用方法  443
8.2.2 UsingCompilationTasks/使用编译任务  443
8.2.3 AnExample:DynamicJavaCodeGeneration/示例:动态Java代码生成  449
8.3 UsingAnnotations/使用注解  455
8.3.1 AnIntroductionintoAnnotations/注解简介  455
8.3.2 AnExample:AnnotatingEventHandlers示例:注解事件处理程序  457
8.4 AnnotationSyntax/注解语法  462
8.4.1 AnnotationInterfaces/注解接口  462
8.4.2 Annotations/注解  464
8.4.3 AnnotatingDeclarations/在声明的地方使用注解  466
8.4.4 AnnotatingTypeUses/在类型使用的地方使用注解  467
8.4.5 Annotating this/对this做注解  468
8.5 StandardAnnotations/标准注解  470
8.5.1 AnnotationsforCompilation/用于编译的注解  471
8.5.2 AnnotationsforManagingResources/用于管理资源的注解  472
8.5.3 Meta-Annotations/元注解  472
8.6 Source-LevelAnnotationProcessing/源码级注解处理  475
8.6.1 AnnotationProcessors/注解处理器  476
8.6.2 TheLanguageModelAPI/语言模型API  476
8.6.3 UsingAnnotationstoGenerateSourceCode/使用注解生成源代码  477
8.7 BytecodeEngineering/字节码引擎  481
8.7.1 ModifyingClassFiles/修改类文件  481
8.7.2 ModifyingBytecodesatLoadTime/在加载时修改字节码  486
Chapter9:Security/安全  491
9.1 ClassLoaders/类加载器  492
9.1.1 TheClassLoadingProcess/类加载流程  492
9.1.2 TheClassLoaderHierarchy/类加载器层次结构  494
9.1.3 UsingClassLoadersasNamespaces/将类加载器作为命名空间  496
9.1.4 WritingYourOwnClassLoader/编写自己的类加载器  497
9.1.5 BytecodeVerification/字节码验证  504
9.2 SecurityManagersandPermissions/安全管理器与权限  509
9.2.1 PermissionChecking/权限检查  509
9.2.2 JavaPlatformSecurity/Java平台安全  510
9.2.3 SecurityPolicyFiles/安全策略文件  514
9.2.4 CustomPermissions/定制权限  522
9.2.5 ImplementationofaPermissionClass/实现权限类  524
9.3 UserAuthentication/用户认证  530
9.3.1 TheJAASFramework/JAAS框架  531
9.3.2 JAASLoginModules/JAAS登录模块  537
9.4 DigitalSignatures/数字签名  546
9.4.1 MessageDigests/消息摘要  547
9.4.2 MessageSigning/消息签名  550
9.4.3 VerifyingaSignature/验证签名  553
9.4.4 TheAuthenticationProblem/认证问题  556
9.4.5 CertificateSigning/证书签名  558
9.4.6 CertificateRequests/证书请求  560
9.4.7 CodeSigning/代码签名  561
9.5 Encryption/加密  567
9.5.1 SymmetricCiphers/对称密码  567
9.5.2 KeyGeneration/生成密钥  569
9.5.3 CipherStreams/加密流  574
9.5.4 PublicKeyCiphers/公钥密码  575
Chapter10:AdvancedSwing/高级Swing  581
10.1 Lists/列表  582
10.1.1 TheJListComponent/JList组件  582
10.1.2 ListModels/列表模式  588
10.1.3 InsertingandRemovingValues/插入和移除值  593
10.1.4 RenderingValues/值的绘制  595
10.2 Tables/表  599
10.2.1 ASimpleTable/简单表  600
10.2.2 TableModels/表模式  604
10.2.3 WorkingwithRowsandColumns/行列操作  608
10.2.3.1 ColumnClasses/列类  609
10.2.3.2 AccessingTableColumns/访问表列  610
10.2.3.3 ResizingColumns/调整列  611
10.2.3.4 ResizingRows/调整行  612
10.2.3.5 SelectingRows,Columns,andCells/选择行、列和单元格  612
10.2.3.6 SortingRows/对行进行排序  614
10.2.3.7 FilteringRows/对行进行过滤  615
10.2.3.8 HidingandDisplayingColumns/隐藏或显示列  617
10.2.4 CellRenderingandEditing/单元格的绘制与编辑  626
10.2.4.1 RenderingCells/绘制单元格  626
10.2.4.2 RenderingtheHeader/绘制表头  627
10.2.4.3 EditingCells/编辑单元格  628
10.2.4.4 CustomEditors/定制编辑器  629
10.3 Trees/树  639
10.3.1 SimpleTrees/简单的树  640
10.3.2 EditingTreesandTreePaths/编辑树和树路径  650
10.3.3 NodeEnumeration/节点枚举  659
10.3.4 RenderingNodes/渲染节点  661
10.3.5 ListeningtoTreeEvents/监听树事件  664
10.3.6 CustomTreeModels/定制树模型  671
10.4 TextComponents/文本组件  681
10.4.1 ChangeTrackinginTextComponents/跟踪文本组件的内容修改  682
10.4.2 FormattedInputFields/将输入的信息格式化  685
10.4.2.1 IntegerInput/整型输入  686
10.4.2.2 BehavioronLossofFocus/丢失焦点时行为  687
10.4.2.3 Filters/过滤器  688
10.4.2.4 Verifiers/验证器  690
10.4.2.5 OtherStandardFormatters/其他标准的格式化器  691
10.4.2.6 CustomFormatters/定制格式化器  693
10.4.3 TheJSpinnerComponent/JSpinner组件  703
10.4.4 DisplayingHTMLwiththeJEditorPane/使用JEditorPane显示HTML  712
10.5 ProgressIndicators/进度指示器  719
10.5.1 ProgressBars/进度条  719
10.5.2 ProgressMonitors/进度监视器  722
10.5.3 MonitoringtheProgressofInputStreams/监视输入流的进度  726
10.6 ComponentOrganizersandDecorators/组件组织器和装饰器  731
10.6.1 SplitPanes/分割面板  732
10.6.2 TabbedPanes/选项卡面板  735
10.6.3 DesktopPanesandInternalFrames/桌面面板与内部框体  741
10.6.3.1 DisplayingInternalFrames/显示内部框体  741
10.6.3.2 CascadingandTiling/级联与平铺  744
10.6.3.3 VetoingPropertySettings/否决属性设置  748
10.6.3.4 DialogsinInternalFrames/内部框体中的对话框  750
10.6.3.5 OutlineDragging/拖曳概述  751
10.6.4 Layers/层次  760
Chapter11:AdvancedAWT/高级AWT  765
11.1 TheRenderingPipeline/绘制图形的流程  766
11.2 Shapes/形状  769
11.2.1 TheShapeClassHierarchy/Shape类层次结构  769
11.2.2 UsingtheShapeClasses/使用各种Shape类  772
11.3 Areas/区域  786
11.4 Strokes/画笔  788
11.5 Paint/着色  797
11.6 CoordinateTransformations/坐标变换  799
11.7 Clipping/剪切  805
11.8 TransparencyandComposition/透明与组合  807
11.9 RenderingHints/绘图提示  817
11.10 ReadersandWritersforImages/图像的读者类和写者类  823
11.10.1 ObtainingReadersandWritersforImageFileTypes/获得图像文件类型的读者类和写者类  824
11.10.2 ReadingandWritingFileswithMultipleImages/多图文件的读写  825
11.11 ImageManipulation/图像处理  834
11.11.1 ConstructingRasterImages/构建光栅图像  835
11.11.2 FilteringImages/图像过滤  842
11.12 Printing/打印  851
11.12.1 GraphicsPrinting/图形打印  852
11.12.2 Multiple-PagePrinting/打印多页文件  862
11.12.3 PrintPreview/打印预览  864
11.12.4 PrintServices/打印服务  874
11.12.5 StreamPrintServices/流打印服务  878
11.12.6 PrintingAttributes/打印属性  879
11.13 TheClipboard/剪贴板  887
11.13.1 ClassesandInterfacesforDataTransfer/用于数据传输的类和接口  888
11.13.2 TransferringText/传输文本  888
11.13.3 TheTransferableInterfaceandDataFlavors/Transferable接口和数据的类型  892
11.13.4 BuildinganImageTransferable/构建可传输的图像  894
11.13.5 TransferringJavaObjectsviatheSystemClipboard/通过系统剪贴板传输Java对象  898
11.13.6 UsingaLocalClipboardtoTransferObjectReferences/使用本地剪贴板传输对象引用  902
11.14 DragandDrop/拖放  903
11.14.1 DataTransferSupportinSwing/Swing对数据传输的支持  904
11.14.2 DragSources/拖曳源  909
11.14.3 DropTargets/放置目标  912
11.15 PlatformIntegration/平台集成  921
11.15.1 SplashScreens/闪屏  921
11.15.2 LaunchingDesktopApplications/启动桌面应用程序  927
11.15.3 TheSystemTray/系统托盘  932
Chapter12:NativeMethods/本地方法  939
12.1 CallingaCFunctionfromaJavaProgram/从Java程序中调用C函数  940
12.2 NumericParametersandReturnValues/数值参数与返回值  947
12.3 StringParameters/字符串参数  949
12.4 AccessingFields/访问字段  956
12.4.1 AccessingInstanceFields/访问实例字段  956
12.4.2 AccessingStaticFields/访问静态字段  960
12.5 EncodingSignatures/编码签名  961
12.6 CallingJavaMethods/调用Java方法  963
12.6.1 InstanceMethods/实例方法  963
12.6.2 StaticMethods/静态方法  964
12.6.3 Constructors/构造器  965
12.6.4 AlternativeMethodInvocations/其他调用方法的手段  966
12.7 AccessingArrayElements/访问数组元素  970
12.8 HandlingErrors/处理错误  974
12.9 UsingtheInvocationAPI/使用InvocationAPI  980
12.10 ACompleteExample:AccessingtheWindowsRegistry/完整示例:访问Windows注册表  985
12.10.1 OverviewoftheWindowsRegistry/Windows注册表简介  985
12.10.2 AJavaPlatformInterfaceforAccessingtheRegistry/访问注册表的Java平台接口  987
12.10.3 ImplementationofRegistryAccessFunctionsasNativeMethods/以本地方法方式实现注册表访问功能  988

其他推荐