编辑推荐

1.Java经典图书新版,第8版曾获得第13届Jolt生产效率大奖。
2.Java平台的杰出指南,新版做了全面更新。
3.《Java核心技术 卷I 基础知识 第10版 英文版 上下册》专为做实际项目的程序员编写,是一本真实可信、不偏不倚且简单直接的Java教程,书中使用了全面测试过的代码示例来阐述关键的Java语言与库的特性,体现了编程实践。
4.《Java核心技术 卷I 基础知识 第10版 英文版 上下册》两位作者均是业内杰出人物,有丰富的写作和实战经验。

内容简介

Java核心技术 卷I 基础知识 第10版 英文版 上下册》是经典的《Java核心技术卷I:基础知识》的新版。这一版针对JavaSE8平台进行了全面更新,以反映JavaSE8的特性。
书中囊括了Java的全部基础知识,提供了大量完整且具有实际意义的应用示例,详细介绍了Java语言基础、面向对象编程、反射与代理、接口与内部类、事件监听器模型、使用SwingGUI工具进行图形用户界面程序设计、打包应用程序、异常处理、登录与调试、泛型编程、集合框架、多线程、并发等内容。

作者简介

CayS.Horstmann是ScalafortheImpatient的作者,还与人合著了CoreJavaServerFaces。他是圣何塞州立大学计算机科学专业的教授,还是一名JavaChampion,并经常在很多开发者大会上演讲。

目录

目录

Chapter1:AnIntroductiontoJava/Java概述1
1.1 JavaasaProgrammingPlatform/Java程序设计平台1
1.2 TheJava“WhitePaper”Buzzwords/Java“白皮书”中的口号2
1.2.1 Simple/简单3
1.2.2 Object-Oriented/面向对象4
1.2.3 Distributed/分布式4
1.2.4 Robust/健壮4
1.2.5 Secure/安全4
1.2.6 Architecture-Neutral/体系结构中立5
1.2.7 Portable/可移植6
1.2.8 Interpreted/解释型7
1.2.9 High-Performance/高性能7
1.2.10 Multithreaded/多线程7
1.2.11 Dynamic/动态8
1.3 JavaAppletsandtheInternet/JavaApplet与Internet8
1.4 AShortHistoryofJava/Java简史10
1.5 CommonMisconceptionsaboutJava/对Java的常见误解13
Chapter2:TheJavaProgrammingEnvironment/Java编程环境17
2.1 InstallingtheJavaDevelopmentKit/安装Java开发包(JDK)18
2.1.1 DownloadingtheJDK/下载JDK18
2.1.2 SettinguptheJDK/设置JDK20
2.1.3 InstallingSourceFilesandDocumentation/源文件与文档的下载与设置22
2.2 UsingtheCommand-LineTools/使用命令行工具23
2.3 UsinganIntegratedDevelopmentEnvironment/使用集成开发环境26
2.4 RunningaGraphicalApplication/运行图形化应用程序30
2.5 BuildingandRunningApplets/构建并运行Applet33
Chapter3:FundamentalProgrammingStructuresinJava/Java的基本编程结构41
3.1 ASimpleJavaProgram/一个简单的Java程序42
3.2 Comments/注释46
3.3 DataTypes/数据类型47
3.3.1 IntegerTypes/整型47
3.3.2 Floating-PointTypes/浮点型48
3.3.3 ThecharType/char类型50
3.3.4 UnicodeandthecharType/Unicode与char类型51
3.3.5 ThebooleanType/boolean类型52
3.4 Variables/变量53
3.4.1 InitializingVariables/初始化变量54
3.4.2 Constants/常量55
3.5 Operators/运算符56
3.5.1 MathematicalFunctionsandConstants/数学函数与常量57
3.5.2 ConversionsbetweenNumericTypes/数值类型之间的转换59
3.5.3 Casts/强制类型转换60
3.5.4 CombiningAssignmentwithOperators/组合赋值运算符61
3.5.5 IncrementandDecrementOperators/自增运算符与自减运算符61
3.5.6 RelationalandBooleanOperators/关系与boolean运算符62
3.5.7 BitwiseOperators/位运算符63
3.5.8 ParenthesesandOperatorHierarchy/括号与运算符优先级64
3.5.9 EnumeratedTypes/枚举类型65
3.6 Strings/字符串65
3.6.1 Substrings/子串66
3.6.2 Concatenation/拼接66
3.6.3 StringsAreImmutable/String是不可变的67
3.6.4 TestingStringsforEquality/测试字符串是否相等68
3.6.5 EmptyandNullStrings/空串与null串69
3.6.6 CodePointsandCodeUnits/码位与编码单元70
3.6.7 TheStringAPI/String类的API71
3.6.8 ReadingtheOnlineAPIDocumentation/阅读在线API文档74
3.6.9 BuildingStrings/构建字符串77
3.7 InputandOutput/输入输出78
3.7.1 ReadingInput/读取输入79
3.7.2 FormattingOutput/格式化输出82
3.7.3 FileInputandOutput/文件输入输出87
3.8 ControlFlow/控制流89
3.8.1 BlockScope/块作用域89
3.8.2 ConditionalStatements/条件语句90
3.8.3 Loops/循环94
3.8.4 DeterminateLoops/确定性循环99
3.8.5 MultipleSelections—TheswitchStatement/多重选择:switch语句103
3.8.6 StatementsThatBreakControlFlow/用于跳出控制流的语句106
3.9 BigNumbers/大数108
3.10Arrays/数组111
3.10.1 The“foreach”Loop/“foreach”循环113
3.10.2 ArrayInitializersandAnonymousArrays/数组初始化与匿名数组114
3.10.3 ArrayCopying/数组复制114
3.10.4 Command-LineParameters/命令行参数116
3.10.5 ArraySorting/数组排序117
3.10.6 MultidimensionalArrays/多维数组120
3.10.7 RaggedArrays/不规则数组124
Chapter4:ObjectsandClasses/对象与类129
4.1 IntroductiontoObject-OrientedProgramming/面向对象编程简介130
4.1.1 Classes/类131
4.1.2 Objects/对象132
4.1.3 IdentifyingClasses/识别类133
4.1.4 RelationshipsbetweenClasses/类之间的关系133
4.2 UsingPredefinedClasses/使用预定义类135
4.2.1 ObjectsandObjectVariables/对象与对象变量136
4.2.2 TheLocalDateClassoftheJavaLibrary/Java库中的LocalDate类139
4.2.3 MutatorandAccessorMethods/更改器方法与访问器方法141
4.3 DefiningYourOwnClasses/定义自己的类145
4.3.1 AnEmployeeClass/Employee类145
4.3.2 UseofMultipleSourceFiles/使用多个源文件149
4.3.3 DissectingtheEmployeeClass/分析Employee类149
4.3.4 FirstStepswithConstructors/从构造器开始150
4.3.5 ImplicitandExplicitParameters/隐式参数与显式参数152
4.3.6 BenefitsofEncapsulation/封装的好处153
4.3.7 Class-BasedAccessPrivileges/基于类的访问权限156
4.3.8 PrivateMethods/私有方法156
4.3.9 FinalInstanceFields/final实例字段157
4.4 StaticFieldsandMethods/静态字段与静态方法158
4.4.1 StaticFields/静态字段158
4.4.2 StaticConstants/静态常量159
4.4.3 StaticMethods/静态方法160
4.4.4 FactoryMethods/工厂方法161
4.4.5 ThemainMethod/main方法161
4.5 MethodParameters/方法参数164
4.6 ObjectConstruction/对象构建171
4.6.1 Overloading/重载172
4.6.2 DefaultFieldInitialization/默认字段初始化172
4.6.3 TheConstructorwithNoArguments/无参构造器173
4.6.4 ExplicitFieldInitialization/显式字段初始化174
4.6.5 ParameterNames/参数名175
4.6.6 CallingAnotherConstructor/调用另一个构造器176
4.6.7 InitializationBlocks/初始化块177
4.6.8 ObjectDestructionandthefinalizeMethod/对象析构与finalize方法181
4.7 Packages/包182
4.7.1 ClassImportation/导入类183
4.7.2 StaticImports/静态导入185
4.7.3 AdditionofaClassintoaPackage/将类添加到某个包中185
4.7.4 PackageScope/包作用域189
4.8 TheClassPath/类路径190
4.8.1 SettingtheClassPath/设置类路径193
4.9 DocumentationComments/文档注释194
4.9.1 CommentInsertion/插入注释194
4.9.2 ClassComments/类注释195
4.9.3 MethodComments/方法注释195
4.9.4 FieldComments/字段注释196
4.9.5 GeneralComments/通用注释196
4.9.6 PackageandOverviewComments/包与概述注释198
4.9.7 CommentExtraction/提取注释198
4.10ClassDesignHints/类设计建议200
Chapter5:Inheritance/继承203
5.1 Classes,Superclasses,andSubclasses/类、超类与子类204
5.1.1 DefiningSubclasses/定义子类204
5.1.2 OverridingMethods/覆盖方法206
5.1.3 SubclassConstructors/子类构造器207
5.1.4 InheritanceHierarchies/继承层次212
5.1.5 Polymorphism/多态213
5.1.6 UnderstandingMethodCalls/理解方法调用214
5.1.7 PreventingInheritance:FinalClassesandMethods/阻止继承:final修饰的类和方法217
5.1.8 Casting/强制类型转换219
5.1.9 AbstractClasses/抽象类221
5.1.10 ProtectedAccess/受保护访问227
5.2 Object:TheCosmicSuperclass/Object:所有类的超类228
5.2.1 TheequalsMethod/equals方法229
5.2.2 EqualityTestingandInheritance/相等测试与继承231
5.2.3 ThehashCodeMethod/hashCode方法235
5.2.4 ThetoStringMethod/toString方法238
5.3 GenericArrayLists/泛型数组列表244
5.3.1 AccessingArrayListElements/访问泛型数组列表的元素247
5.3.2 CompatibilitybetweenTypedandRawArrayLists/泛型数组列表与原始数组列表的兼容性251
5.4 ObjectWrappersandAutoboxing/对象包装器与自动装箱252
5.5 MethodswithaVariableNumberofParameters/参数数量可变的方法256
5.6 EnumerationClasses/枚举类258
5.7 Reflection/反射260
5.7.1 TheClassClass/Class类261
5.7.2 APrimeronCatchingExceptions/捕获异常简介263
5.7.3 UsingReflectiontoAnalyzetheCapabilitiesofClasses/使用反射分析类的能力265
5.7.4 UsingReflectiontoAnalyzeObjectsatRuntime/在运行时使用反射分析对象271
5.7.5 UsingReflectiontoWriteGenericArrayCode/使用反射编写泛型数组代码276
5.7.6 InvokingArbitraryMethods/调用任意方法279
5.8 DesignHintsforInheritance/继承的设计建议283
Chapter6:Interfaces,LambdaExpressions,andInnerClasses/接口、Lambda表达式和内部类287
6.1 Interfaces/接口288
6.1.1 TheInterfaceConcept/接口的概念288
6.1.2 PropertiesofInterfaces/接口的特性295
6.1.3 InterfacesandAbstractClasses/接口与抽象类297
6.1.4 StaticMethods/静态方法298
6.1.5 DefaultMethods/默认方法298
6.1.6 ResolvingDefaultMethodConflicts/解决默认方法的冲突300
6.2 ExamplesofInterfaces/接口示例302
6.2.1 InterfacesandCallbacks/接口与回调302
6.2.2 TheComparatorInterface/Comparator接口305
6.2.3 ObjectCloning/对象克隆306
6.3 LambdaExpressions/Lambda表达式314
6.3.1 WhyLambdas?/为什么引入Lambda表达式314
6.3.2 TheSyntaxofLambdaExpressions/Lambda表达式的语法315
6.3.3 FunctionalInterfaces/函数式接口318
6.3.4 MethodReferences/方法引用319
6.3.5 ConstructorReferences/构造器引用321
6.3.6 VariableScope/变量作用域322
6.3.7 ProcessingLambdaExpressions/处理Lambda表达式324
6.3.8 MoreaboutComparators/再谈Comparator328
6.4 InnerClasses/内部类329
6.4.1 UseofanInnerClasstoAccessObjectState/使用内部类访问对象状态331
6.4.2 SpecialSyntaxRulesforInnerClasses/
内部类的特殊语法规则334
6.4.3 AreInnerClassesUseful?ActuallyNecessary?Secure?/内部类是否有用、必要和安全335
6.4.4 LocalInnerClasses/局部内部类339
6.4.5 AccessingVariablesfromOuterMethods/从外部方法访问变量339
6.4.6 AnonymousInnerClasses/匿名内部类342
6.4.7 StaticInnerClasses/静态内部类346
6.5 Proxies/代理350
6.5.1 WhentoUseProxies/何时使用代理350
6.5.2 CreatingProxyObjects/创建代理对象350
6.5.3 PropertiesofProxyClasses/代理类的特性355
Chapter7:Exceptions,Assertions,andLogging/异常、断言与日志357
7.1 DealingwithErrors/处理错误358
7.1.1 TheClassificationofExceptions/异常分类359
7.1.2 DeclaringCheckedExceptions/声明检查型异常361
7.1.3 HowtoThrowanException/如何抛出异常364
7.1.4 CreatingExceptionClasses/创建异常类365
7.2 CatchingExceptions/捕获异常367
7.2.1 CatchinganException/捕获一个异常367
7.2.2 CatchingMultipleExceptions/捕获多个异常369
7.2.3 RethrowingandChainingExceptions/再次抛出异常与异常链370
7.2.4 ThefinallyClause/finally子句372
7.2.5 TheTry-with-ResourcesStatement/try-with-resources语句376
7.2.6 AnalyzingStackTraceElements/分析栈轨迹元素377
7.3 TipsforUsingExceptions/异常使用技巧381
7.4 UsingAssertions/使用断言384
7.4.1 TheAssertionConcept/断言的概念384
7.4.2 AssertionEnablingandDisabling/启用和禁用断言385
7.4.3 UsingAssertionsforParameterChecking/使用断言检查参数386
7.4.4 UsingAssertionsforDocumentingAssumptions/使用断言保证文档中假定成立的条件387
7.5 Logging/日志389
7.5.1 BasicLogging/基本日志389
7.5.2 AdvancedLogging/高级日志390
7.5.3 ChangingtheLogManagerConfiguration/修改日志管理器配置392
7.5.4 Localization/本地化393
7.5.5 Handlers/处理器394
7.5.6 Filters/过滤器398
7.5.7 Formatters/格式化器399
7.5.8 ALoggingRecipe/常见日志操作总结399
7.6 DebuggingTips/调试技巧409
Chapter8:GenericProgramming/泛型编程415
8.1 WhyGenericProgramming?/为什么要使用泛型编程416
8.1.1 TheAdvantageofTypeParameters/类型参数的好处416
8.1.2 WhoWantstoBeaGenericProgrammer?/哪些人想成为泛型程序员417
8.2 DefiningaSimpleGenericClass/定义简单的泛型类418
8.3 GenericMethods/泛型方法421
8.4 BoundsforTypeVariables/类型变量的绑定422
8.5 GenericCodeandtheVirtualMachine/泛型代码与虚拟机425
8.5.1 TypeErasure/类型擦除425
8.5.2 TranslatingGenericExpressions/翻译泛型表达式426
8.5.3 TranslatingGenericMethods/翻译泛型方法427
8.5.4 CallingLegacyCode/调用遗留代码429
8.6 RestrictionsandLimitations/约束与局限性430
8.6.1 TypeParametersCannotBeInstantiatedwithPrimitiveTypes/类型参数不能用基本类型来实例化430
8.6.2 RuntimeTypeInquiryOnlyWorkswithRawTypes/运行时类型查询只适用于原始类型431
8.6.3 YouCannotCreateArraysofParameterizedTypes/不能创建参数化类型的数组431
8.6.4 VarargsWarnings/注意变长参数情况432
8.6.5 YouCannotInstantiateTypeVariables/不能实例化类型变量433
8.6.6 YouCannotConstructaGenericArray/不能构造泛型数组434
8.6.7 TypeVariablesAreNotValidinStaticContextsofGenericClasses/类型变量在泛型类的静态上下文中无效436
8.6.8 YouCannotThroworCatchInstancesofaGenericClass/不能抛出或捕获泛型类的实例436
8.6.9 YouCanDefeatCheckedExceptionChecking/可以打破“检查型异常必须检查”的规则437
8.6.10 BewareofClashesafterErasure/注意类型擦除后的冲突439
8.7 InheritanceRulesforGenericTypes/泛型类型的继承规则440
8.8 WildcardTypes/通配符类型442
8.8.1 TheWildcardConcept/通配符的概念442
8.8.2 SupertypeBoundsforWildcards/通配符的超类型限定444
8.8.3 UnboundedWildcards/无限定通配符447
8.8.4 WildcardCapture/通配符捕获448
8.9 ReflectionandGenerics/反射与泛型450
8.9.1 TheGenericClassClass/泛型的Class类450
8.9.2 UsingClassParametersforTypeMatching/使用Class参数进行类型匹配452
8.9.3 GenericTypeInformationintheVirtualMachine/虚拟机中的泛型类型信息452
Chapter9:Collections/集合类459
9.1 TheJavaCollectionsFramework/Java集合类框架460
9.1.1 SeparatingCollectionInterfacesandImplementation/将集合类的接口与实现分离460
9.1.2 TheCollectionInterface/Collection接口463
9.1.3 Iterators/迭代器463
9.1.4 GenericUtilityMethods/泛型的实用方法466
9.1.5 InterfacesintheCollectionsFramework/集合类框架中的接口469
9.2 ConcreteCollections/具体的集合类472
9.2.1 LinkedLists/链表474
9.2.2 ArrayLists/数组列表484
9.2.3 HashSets/散列集485
9.2.4 TreeSets/树形集489
9.2.5 QueuesandDeques/队列与双端队列494
9.2.6 PriorityQueues/优先级队列495
9.3 Maps/映射497
9.3.1 BasicMapOperations/基本映射操作497
9.3.2 UpdatingMapEntries/更新映射表项500
9.3.3 MapViews/映射视图502
9.3.4 WeakHashMaps/弱散列映射504
9.3.5 LinkedHashSetsandMaps/LinkedHashSet与LinkedHashMap504
9.3.6 EnumerationSetsandMaps/EnumSet与EnumMap506
9.3.7 IdentityHashMaps/IdentityHashMap507
9.4 ViewsandWrappers/视图与包装器509
9.4.1 LightweightCollectionWrappers/轻量级集合包装器509
9.4.2 Subranges/子范围510
9.4.3 UnmodifiableViews/不可修改视图511
9.4.4 SynchronizedViews/同步视图512
9.4.5 CheckedViews/检查用视图513
9.4.6 ANoteonOptionalOperations/可选操作说明514
9.5 Algorithms/算法517
9.5.1 SortingandShuffiing/排序与混排518
9.5.2 BinarySearch/二分查找521
9.5.3 SimpleAlgorithms/简单算法522
9.5.4 BulkOperations/主要操作524
9.5.5 ConvertingbetweenCollectionsandArrays/集合与数组之间的转换525
9.5.6 WritingYourOwnAlgorithms/编写自己的算法526
9.6 LegacyCollections/遗留的集合类528
9.6.1 TheHashtableClass/Hashtable类528
9.6.2 Enumerations/Enumeration528
9.6.3 PropertyMaps/属性映射530
9.6.4 Stacks/栈531
9.6.5 BitSets/位集532
Chapter10:GraphicsProgramming/图形界面编程537
10.1 IntroducingSwing/Swing简介538
10.2 CreatingaFrame/创建框架543
10.3 PositioningaFrame/设定框架的显示位置546
10.3.1 FrameProperties/框架属性549
10.3.2 DeterminingaGoodFrameSize/确定合适的框架大小549
10.4 DisplayingInformationinaComponent/在组件中显示信息554
10.5 Workingwith2DShapes/处理2D图形560
10.6 UsingColor/使用颜色569
10.7 UsingSpecialFontsforText/使用特殊的文本字体573
10.8 DisplayingImages/显示图片582
Chapter11:EventHandling/事件处理587
11.1 BasicsofEventHandling/事件处理基础587
11.1.1 Example:HandlingaButtonClick/示例:处理按钮点击事件591
11.1.2 SpecifyingListenersConcisely/设置监听器的简洁方法595
11.1.3 Example:ChangingtheLook-and-Feel/示例:修改观感598
11.1.4 AdapterClasses/适配器类603
11.2 Actions/动作607
11.3 MouseEvents/鼠标事件616
11.4 TheAWTEventHierarchy/AWT事件层次624
11.4.1 SemanticandLow-LevelEvents/语义与底层事件626
Chapter12:UserInterfaceComponentswithSwing/Swing用户界面组件629
12.1 SwingandtheModel-View-ControllerDesignPattern/Swing与模型-视图-控制器设计模式630
12.1.1 DesignPatterns/设计模式630
12.1.2 TheModel-View-ControllerPattern/模型-视图-控制器模式632
12.1.3 AModel-View-ControllerAnalysisofSwingButtons/Swing按钮的模型-视图-控制器分析636
12.2 IntroductiontoLayoutManagement/布局管理简介638
12.2.1 BorderLayout/边框布局641
12.2.2 GridLayout/网格布局644
12.3 TextInput/文本输入648
12.3.1 TextFields/文本框649
12.3.2 LabelsandLabelingComponents/标签与标签组件651
12.3.3 PasswordFields/密码框652
12.3.4 TextAreas/文本区域653
12.3.5 ScrollPanes/滚动窗格654
12.4 ChoiceComponents/选择组件657
12.4.1 Checkboxes/复选框657
12.4.2 RadioButtons/单选按钮660
12.4.3 Borders/边框664
12.4.4 ComboBoxes/组合框668
12.4.5 Sliders/滑动条672
12.5 Menus/菜单678
12.5.1 MenuBuilding/菜单构建679
12.5.2 IconsinMenuItems/菜单项中的图标682
12.5.3 CheckboxandRadioButtonMenuItems/复选框和单选按钮菜单项683
12.5.4 Pop-UpMenus/弹出菜单684
12.5.5 KeyboardMnemonicsandAccelerators/键盘助记符与快捷键686
12.5.6 EnablingandDisablingMenuItems/启用和禁用菜单项689
12.5.7 Toolbars/工具栏694
12.5.8 Tooltips/工具提示696
12.6 SophisticatedLayoutManagement/复杂的布局管理699
12.6.1 TheGridBagLayout/网格布局管理701
12.6.2 GroupLayout/组布局713
12.6.3 UsingNoLayoutManager/不使用布局管理器723
12.6.4 CustomLayoutManagers/定制布局管理器724
12.6.5 TraversalOrder/遍历顺序729
12.7 DialogBoxes/对话框730
12.7.1 OptionDialogs/选项对话框731
12.7.2 CreatingDialogs/创建对话框741
12.7.3 DataExchange/数据交换746
12.7.4 FileDialogs/文件对话框752
12.7.5 ColorChoosers/颜色选择器764
12.8 TroubleshootingGUIPrograms/GUI程序的问题定位770
12.8.1 DebuggingTips/调试技巧770
12.8.2 LettingtheAWTRobotDotheWork/把工作交给AWTRobot774
Chapter13:DeployingJavaApplications/部署Java应用程序779
13.1 JARFiles/JAR文件780
13.1.1 CreatingJARfiles/创建JAR文件780
13.1.2 TheManifest/清单文件781
13.1.3 ExecutableJARFiles/可执行的JAR文件782
13.1.4 Resources/资源783
13.1.5 Sealing/封闭787
13.2 StorageofApplicationPreferences/应用偏好信息的存储788
13.2.1 PropertyMaps/属性映射788
13.2.2 ThePreferencesAPI/PropertiesAPI794
13.3 ServiceLoaders/服务加载器800
13.4 Applets/Applet802
13.4.1 ASimpleApplet/一个简单的Applet803
13.4.2 TheappletHTMLTagandItsAttributes/appletHTML标记及其属性808
13.4.3 UseofParameterstoPassInformationtoApplets/使用参数向Applet传递信息810
13.4.4 AccessingImageandAudioFiles/访问图片和音频文件816
13.4.5 TheAppletContext/Applet上下文818
13.4.6 Inter-AppletCommunication/Applet间的通信818
13.4.7 DisplayingItemsintheBrowser/在浏览器中显示信息819
13.4.8 TheSandbox/沙箱820
13.4.9 SignedCode/签名代码822
13.5 JavaWebStart/JavaWebStart824
13.5.1 DeliveringaJavaWebStartApplication/交付一个JavaWebStart应用824
13.5.2 TheJNLPAPI/JNLPAPI829
Chapter14:Concurrency/并发839
14.1 WhatAreThreads?/什么是线程840
14.1.1 UsingThreadstoGiveOtherTasksaChance/使用线程为其他任务提供执行机会846
14.2 InterruptingThreads/中断线程851
14.3 ThreadStates/线程状态855
14.3.1 NewThreads/新创建线程855
14.3.2 RunnableThreads/可运行线程855
14.3.3 BlockedandWaitingThreads/被阻塞线程与等待线程856
14.3.4 TerminatedThreads/被终止的线程857
14.4 ThreadProperties/线程属性858
14.4.1 ThreadPriorities/线程优先级858
14.4.2 DaemonThreads/守护线程859
14.4.3 HandlersforUncaughtExceptions/未捕获异常的处理器860
14.5 Synchronization/同步862
14.5.1 AnExampleofaRaceCondition/竞争条件的一个案例862
14.5.2 TheRaceConditionExplained/竞争条件详解866
14.5.3 LockObjects/锁对象868
14.5.4 ConditionObjects/条件对象872
14.5.5 ThesynchronizedKeyword/synchronized关键字878
14.5.6 SynchronizedBlocks/同步块882
14.5.7 TheMonitorConcept/监视器概念884
14.5.8 VolatileFields/volatile字段885
14.5.9 FinalVariables/final变量886
14.5.10 Atomics/原子886
14.5.11 Deadlocks/死锁889
14.5.12 Thread-LocalVariables/线程局部变量892
14.5.13 LockTestingandTimeouts/锁测试与超时893
14.5.14 Read/WriteLocks/读/写锁895
14.5.15 WhythestopandsuspendMethodsAreDeprecated/为什么弃用stop和suspend方法896
14.6 BlockingQueues/阻塞队列898
14.7 Thread-SafeCollections/线程安全的集合905
14.7.1 EfficientMaps,Sets,andQueues/高效的映射、集和队列905
14.7.2 AtomicUpdateofMapEntries/映射表项的原子更新907
14.7.3 BulkOperationsonConcurrentHashMaps/并发散列映射上的主要操作909
14.7.4 ConcurrentSetViews/并发的集视图912
14.7.5 CopyonWriteArrays/写时复制的数组912
14.7.6 ParallelArrayAlgorithms/并行数组算法912
14.7.7 OlderThread-SafeCollections/较早的线程安全的集合914
14.8 CallablesandFutures/Callable与Future915
14.9 Executors/执行器920
14.9.1 ThreadPools/线程池921
14.9.2 ScheduledExecution/预订执行926
14.9.3 ControllingGroupsofTasks/控制任务组927
14.9.4 TheFork-JoinFramework/Fork-Join框架928
14.9.5 CompletableFutures/CompletableFuture931
14.10 Synchronizers/同步器934
14.10.1 Semaphores/信号量935
14.10.2 CountdownLatches/倒计时门栓936
14.10.3 Barriers/障栅936
14.10.4 Exchangers/交换器937
14.10.5 SynchronousQueues/同步队列937
14.11 ThreadsandSwing/线程与Swing937
14.11.1 RunningTime-ConsumingTasks/运行耗时任务939
14.11.2 UsingtheSwingWorker/使用Swing工作线程943
14.11.3 TheSingle-ThreadRule/单线程规则951
Appendix/附录953

其他推荐