最新公告
  • 欢迎您光临IO源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Java核心编程 刘伟卫 PDF 下载

    失效链接处理 Java核心编程 刘伟卫 PDF 下载


    本站整理下载:
    版权归出版社和原作者所有,链接已删除,请购买正版
    用户下载说明:
    电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
    http://product.dangdang.com/28551673.html
    相关截图:



    资料简介:

    本书主要基于Java 13来介绍Java核心编程相关的知识点,以及从Java 8至Java 13以来的新特性,主要内容包括:Java语言基础、面向对象编程、集合框架、异常处理、I/O处理、网络编程、并发编程、基本编程结构的改进、垃圾回收器的增强、使用脚本语言、Lambda表达式与函数式编程、Stream、集合的增强、新的日期和时间API、并发编程的增强、模块化、响应式编程等内容。通过本书的学习,读者不仅能够掌握Java语言的编程技巧,还可以拓展视野,提升市场竞争能力。 本书主要面向Java语言的爱好者、Java工程师和架构师。



    资料目录:

    第1章  JAVA概述 1
    1.1  Java演进史 1
    1.1.1  Java简史 1
    1.1.2  Java大有可为 3
    1.2  现代Java新特性:从Java 8到Java 13 3
    1.2.1  Java 8新特性 3
    1.2.2  Java 9新特性 4
    1.2.3  Java 10新特性 4
    1.2.4  Java 11新特性 5
    1.2.5  Java 12新特性 5
    1.2.6  Java 13新特性 5
    1.3  如何学习本书 6
    1.3.1  学习的前置条件 6
    1.3.2  如何使用本书 6
    1.3.3  如何获取源码 7
    1.4  开发环境配置及编写个Java应用 7
    1.4.1  JDK 13的下载 7
    1.4.2  JDK 13的安装 8
    1.4.3  Eclipse的下载 10
    1.4.4  Eclipse的安装 10
    1.4.5  Eclipse的配置 11
    1.4.6  创建Java应用 11
    1.4.7  创建模块 12
    1.4.8  创建Hello World程序 13
    1.4.9  使用JUnit 5 14


    第2章  JAVA语言基础 17
    2.1  变量 17
    2.1.1  命名 18
    2.1.2  基本数据类型 18
    2.1.3  基本数据类型的默认值 21
    2.1.4  字面值 21
    2.1.5  基本数据类型之间的转换 24
    2.1.6  数组 26
    2.2  运算符 29
    2.2.1  赋值运算符 30
    2.2.2  算术运算符 30
    2.2.3  一元运算符 32
    2.2.4  等价和关系运算符 33
    2.2.5  条件运算符 34
    2.2.6  instanceof运算符 36
    2.2.7  位运算符和位移运算符 37
    2.3  表达式、语句和块 39
    2.3.1  表达式 39
    2.3.2  语句 40
    2.3.3  块 41
    2.4  控制流程语句 41
    2.4.1  if-then 41
    2.4.2  if-then-else 42
    2.4.3  switch 43
    2.4.4  while 48
    2.4.5  do-while 49
    2.4.6  for 50
    2.4.7  break 51
    2.4.8  continue 53
    2.4.9  return 55
    2.5  枚举类型 55
    2.6  泛型 58
    2.6.1  泛型的作用 58
    2.6.2  泛型类型 59
    2.6.3  泛型方法 62
    2.6.4  有界类型参数 63
    2.6.5  泛型的继承和子类型 64
    2.6.6  通配符 66
    2.6.7  类型擦除 69
    2.6.8  使用泛型的一些限制 71
    2.7  关键字 74
    第3章  面向对象编程基础 76
    3.1  编程的抽象 76
    3.2  类的示例 78
    3.3  对象的接口 79
    3.4  包 81
    3.5  对象提供服务 82
    3.6  隐藏实现的细节 82
    3.6.1  为什么需要控制对成员的访问 83
    3.6.2  Java的作用域 83
    3.7  实现的重用 84
    3.8  继承 84
    3.8.1  Java中的继承 84
    3.8.2  关于Shape的讨论 86
    3.8.3  实战:继承的示例 87
    3.9  is-a和is-like-a的关系 88
    3.10  多态性 88
    3.10.1  多态的定义 89
    3.10.2  理解多态的好处 89
    第4章  集合框架 90
    4.1  集合框架概述 90
    4.1.1  集合框架的定义 90
    4.1.2  Java集合框架的优点 91
    4.1.3  集合框架常见的接口 91
    4.1.4  集合框架的实现 92
    4.2  Collection接口 93
    4.2.1  遍历集合 93
    4.2.2  集合接口批量操作 94
    4.3  Set接口 95
    4.3.1  HashSet、TreeSet和LinkedHashSet的比较 95
    4.3.2  Set接口基本操作 96
    4.3.3  Set接口批量操作 97
    4.4  Map接口 97
    4.4.1  Map接口基本操作 97
    4.4.2  Map接口批量操作 98
    4.4.3  Map集合视图 98
    4.5  List接口 99
    4.5.1  集合操作 99
    4.5.2  位置访问和搜索操作 100
    4.5.3  List的迭代器 100
    4.5.4  范围视图操作 100
    4.5.5  List常用算法 101
    4.6  Queue接口 101
    4.7  Deque接口 102
    4.7.1  插入 103
    4.7.2  移除 103
    4.7.3  检索 103
    第5章  异常处理 104
    5.1  异常捕获与处理 104
    5.1.1  先从一个例子入手 104
    5.1.2  try块 106
    5.1.3  catch块 106
    5.1.4  在一个异常处理程序中处理多个类型的异常 107
    5.1.5  finally块 107
    5.1.6  try-with-resources语句 108
    5.2  通过方法声明抛出异常 110
    5.3  如何抛出异常 111
    5.3.1  throw语句 111
    5.3.2  Throwable类及其子类 112
    5.3.3  Error类 112
    5.3.4  Exception类 112
    5.4  异常链 113
    5.4.1  访问堆栈跟踪信息 113
    5.4.2  记录异常日志 114
    5.5  创建异常类 115
    5.5.1  一个创建异常类的例子 115
    5.5.2  选择超类 115
    5.6  未检查异常 116
    5.7  使用异常带来的优势 116
    5.7.1  将错误处理代码与“常规”代码分离 116
    5.7.2  将错误沿调用堆栈向上传递 118
    5.7.3  对错误类型进行分组和区分 119
    5.8  try-with-resources语句的详细用法 120
    5.8.1  手动关闭资源 121
    5.8.2  Java 7中的try-with-resources介绍 121
    5.8.3  try-with-resources在Java 9中的改进 123
    5.9  实战:使用try-with-resources 123
    第6章  I/O处理 126
    6.1  I/O流 126
    6.1.1  字节流 126
    6.1.2  字符流 128
    6.1.3  面向行的I/O 129
    6.1.4  缓冲流 130
    6.1.5  刷新缓冲流 130
    6.1.6  扫描和格式化文本 130
    6.1.7  命令行I/O 135
    6.1.8  数据流 137
    6.1.9  对象流 138
    6.2  文件I/O 141
    6.2.1  路径 141
    6.2.2  Path类 143
    6.2.3  Path的操作 143
    6.2.4  文件操作 151
    6.2.5  检查文件或目录 153
    6.2.6  删除文件或目录 154
    6.2.7  复制文件或目录 154
    6.2.8  移动一个文件或目录 155
    第7章  网络编程 156
    7.1  网络基础 156
    7.1.1  了解OSI参考模型 156
    7.1.2  TCP/IP网络模型与OSI模型的对比 157
    7.1.3  了解TCP 158
    7.1.4  了解UDP 158
    7.1.5  了解端口 159
    7.2  Socket 160
    7.2.1  了解Socket 160
    7.2.2  实战:实现一个echo服务器 161
    7.3  I/O模型的演进 163
    7.3.1  UNIX I/O模型的基本概念 163
    7.3.2  UNIX I/O模型 163
    7.3.3  常见Java I/O模型 168
    7.4  HTTP Client API概述 175
    7.5  HttpRequest 176
    7.6  HttpResponse 176
    7.7  实战:HTTP Client API的使用例子 177
    7.7.1  发起同步请求 177
    7.7.2  发起异步请求 179
    第8章  并发编程 180
    8.1  了解线程 180
    8.1.1  线程的状态 180
    8.1.2  进程和线程 181
    8.1.3  线程和纤程 182
    8.1.4  Java中的线程对象 182
    8.1.5  实战:多线程示例 185
    8.2  并发编程是把双刃剑 187
    8.2.1  死锁 187
    8.2.2  饥饿 188
    8.2.3  活锁 189
    8.3  解决并发问题的常用方法 189
    8.3.1  同步 189
    8.3.2  原子访问 193
    8.3.3  无锁化设计提升并发能力 194
    8.3.4  缓存提升并发能力 194
    8.3.5  更细颗粒度的并发单元 194
    8.4  守卫块 195
    8.5  不可变对象 197
    8.5.1  一个同步类的例子 197
    8.5.2  定义不可变对象的策略 199
    8.6  高级并发对象 201
    8.6.1  锁对象 201
    8.6.2  执行器 203
    8.6.3  并发集合 209
    8.6.4  原子变量 210
    8.6.5  并发随机数 211
    第9章  基本编程结构的改进 212
    9.1  直接运行Java源代码 212
    9.1.1  Java 11可以直接运行Java源码 213
    9.1.2  原理 214
    9.2  局部变量类型推断 214
    9.2.1  了解var声明变量的一些限制 215
    9.2.2  原理 215
    9.3  实战:var关键字的使用 215
    9.4  字符串处理增强 216
    9.4.1  支持Raw String Literals 216
    9.4.2  原理 217
    9.4.3  限制 217
    9.4.4  Java 11常用String API 218
    9.4.5  Java 12常用String API 219
    9.5  实战:Java 11字符串的使用 220
    9.5.1  Raw String Literals的使用 220
    9.5.2  String API的使用 221
    9.6  支持Unicode标准 223
    9.6.1  了解Unicode 10 223
    9.6.2  在控制台打印出Emoji 224
    9.6.3  在GUI中显示出Emoji 224
    9.7  Optional类 226
    9.7.1  复现NullPointerException 226
    9.7.2  Optional类的魔法 228
    9.7.3  Optional类的其他方法 229
    9.8  接口中的默认方法 232
    9.9  实战:接口中默认方法的使用 234
    9.10  接口中的静态方法 235
    9.11  实战:接口中静态方法的使用 236
    9.12  Switch表达式增强 237
    9.12.1  实战:Switch表达式的例子 237
    9.12.2  使用Switch表达式的注意事项 238
    9.13  紧凑数字格式 238
    9.14  文本块 239
    第10章  垃圾回收器的增强 241
    10.1  了解G1 241
    10.1.1  了解Java垃圾回收机制 241
    10.1.2  查找不再使用的对象 242
    10.1.3  垃圾回收算法 242
    10.1.4  分代垃圾回收 242
    10.1.5  Java垃圾回收器的历史 243
    10.1.6  了解G1的原理 243
    10.1.7  了解G1 Young GC 245
    10.1.8  了解G1 Mixed GC 246
    10.2  了解ZGC 249
    10.2.1  更短的停顿 249
    10.2.2  ZGC的着色指针和读屏障 250
    10.2.3  读屏障 251
    10.2.4  GC工作原理 251
    10.2.5  将未使用的堆内存返回给操作系统 253
    10.3  了解Epsilon 253
    10.4  了解Shenandoah 254
    10.4.1  Shenandoah工作原理 254
    10.4.2  性能指标 255
    第11章  使用脚本语言 257
    11.1  什么是JShell 257
    11.2  为什么需要JShell 257
    11.3  JShell的基本操作 258
    11.3.1  启动JShell 258
    11.3.2  退出JShell 258
    11.3.3  使用JShell测试API 258
    11.3.4  使用JShell操作流 259
    11.3.5  获取帮助 259
    11.4  实战:JShell的综合用法 260
    11.4.1  定义方法 260
    11.4.2  使用自定义的方法 261
    11.4.3  查看所有的变量及引用情况 261
    11.4.4  保存历史 261
    11.4.5  打开文件 262
    11.4.6  获取变量的引用值 262
    第12章  LAMBDA表达式及函数式编程 263
    12.1  Lambda表达式 263
    12.1.1  个Lambda表达式的例子 263
    12.1.2  第二个Lambda表达式的例子 264
    12.1.3  Lambda表达式简写的依据 265
    12.2  方法引用 265
    12.2.1  什么是方法引用 266
    12.2.2  实战:方法引用的例子 266
    12.3  构造函数引用 267
    12.4  函数式接口 268
    12.4.1  Predicate 268
    12.4.2  Consumer 269
    12.4.3  Function 270
    12.4.4  总结 271
    12.5  Consumer接口 271
    12.5.1  andThen 272
    12.5.2  IntConsumer 272
    12.5.3  LongConsumer 273
    12.5.4  DoubleConsumer 273
    12.5.5  BiConsumer 274
    12.6  Supplier接口 275
    12.6.1  get 275
    12.6.2  BooleanSupplier 275
    12.6.3  IntSupplier 276
    12.6.4  LongSupplier 276
    12.6.5  DoubleSupplier 277
    12.7  Predicate接口 277
    12.7.1  test 278
    12.7.2  negate 278
    12.7.3  or 279
    12.7.4  and 279
    12.7.5  not 279
    12.7.6  IntPredicate 280
    12.7.7  BiPredicate 281
    12.8  Function接口 282
    12.8.1  compose 283
    12.8.2  andThen 283
    12.8.3  identity 283
    12.9  类型检查 284
    12.10  类型推导 285
    12.11  使用本地变量 285
    第13章  STREAM 287
    13.1  Stream API概述 287
    13.1.1  什么是聚合操作 287
    13.1.2  什么是Stream 288
    13.1.3  Stream的构成 289
    13.2  实例:Stream使用的例子 290
    13.2.1  传统的过滤数据的做法 290
    13.2.2  Stream过滤数据的做法 291
    13.3  Stream简化了编程 291
    13.4  Stream常用操作 292
    13.4.1  collect(toList())终止操作 292
    13.4.2  map中间操作 293
    13.4.3  filter中间操作 293
    13.4.4  count终止操作 293
    13.4.5  min终止操作 293
    13.4.6  max终止操作 294
    13.4.7  reduce终止操作 294
    13.5  过滤数据 294
    13.6  切分数据 295
    13.6.1  使用Predicate切分数据 295
    13.6.2  截断Stream 297
    13.6.3  跳过元素 297
    13.7  映射 298
    13.7.1  map 298
    13.7.2  flatMap 298
    13.8  查找和匹配 300
    13.8.1  allMatch 300
    13.8.2  anyMatch 300
    13.8.3  noneMatch 300
    13.8.4  findFirst 301
    13.8.5  findAny 301
    13.9  压缩数据 301
    13.9.1  计算总和 302
    13.9.2  计算值和小值 302
    13.10  构造Stream 303
    13.10.1  从值中构造 303
    13.10.2  从nullable中构造 304
    13.10.3  从数组中构造 304
    13.10.4  从集合中构造 304
    13.10.5  从文件中构造 304
    13.11  收集收据 305
    13.11.1  Collector接口 305
    13.11.2  Collectors 307
    13.11.3  统计总数 308
    13.11.4  计算值和小值 309
    13.11.5  求和 309
    13.11.6  求平均数 310
    13.11.7  连接字符串 310
    13.11.8  分组 310
    13.11.9  分区 311
    13.12  并行计算 311
    13.12.1  并行流 312
    13.12.2  Stream与parallelStream的抉择 312
    13.13  Spliterator接口 313
    第14章  集合的增强 314
    14.1  集合工厂 314
    14.1.1  List工厂 315
    14.1.2  Set工厂 316
    14.1.3  Map工厂 316
    14.2  实战:List工厂的使用 317
    14.3  实战:Set工厂的使用 318
    14.4  实战:Map工厂的使用 318
    14.5  List和Set常用方法 319
    14.5.1  removeIf 319
    14.5.2  replaceAll 320
    14.6  实战:removeIf方法的使用 321
    14.7  实战:replaceAll方法的使用 321
    14.8  Map常用方法 322
    14.8.1  forEach 322
    14.8.2  sorted 323
    14.8.3  getOrDefault 323
    14.9  实战:forEach方法的使用 324
    14.10  实战:sorted的使用 324
    14.11  实战:getOrDefault方法的使用 325
    14.12  实战:计算操作 325
    14.12.1  computeIfAbsent 325
    14.12.2  computeIfPresent 326
    14.12.3  compute 326
    14.13  实战:移除操作 327
    14.14  实战:替换操作 327
    14.14.1  replaceAll 327
    14.14.2  replace 328
    14.15  实战:合并操作 328
    14.16  ConcurrentHashMap的改进 329
    14.16.1  Java 8之前的ConcurrentHashMap类 329
    14.16.2  Java 8之后的ConcurrentHashMap类的改进 330
    第15章  新的日期和时间API 334
    15.1  了解LocalDate 334
    15.2  了解LocalTime 335
    15.3  了解LocalDateTime 336
    15.4  了解Instant 338
    15.5  了解Duration 339
    15.6  了解Period 339
    15.7  常用日期的操作 340
    15.8  调整时间 341
    15.9  格式化日期 342
    15.10  时区处理 343
    15.11  日历 345
    第16章  并发编程的增强 346
    16.1  Stream的parallel()方法 346
    16.2  执行器及线程池 346
    16.2.1  线程及线程数 347
    16.2.2  线程池 347
    16.2.3  Java 8中的Executors增强 348
    16.2.4  了解线程池的风险 348
    16.3  Future API 350
    16.3.1  并行提交任务 350
    16.3.2  顺序返回结果 352
    16.4  CompletableFuture 352
    16.4.1  CompletionStage 353
    16.4.2  CompletableFuture 353
    16.4.3  CompletableFuture类使用示例 354
    16.5  异步API中的异常处理 355
    16.6  box-and-channel模型 357
    16.7  实例:在线商城 357
    16.8  实例:同步方法转为异步 358
    16.8.1  异常处理 360
    16.8.2  使用supplyAsync简化代码 360
    第17章  模块化 362
    17.1  为什么需要模块化 362
    17.1.1  体积大 363
    17.1.2  访问控制粒度不够细 363
    17.1.3  依赖地狱 364
    17.2  用模块化开发和设计Java应用 364
    17.2.1  模块的声明 364
    17.2.2  模块的零件 365
    17.2.3  模块描述 366
    17.2.4  平台模块 366

    第18章  响应式编程 368
    18.1  响应式编程概述 368
    18.1.1  Flow Control的几种解决方案 369
    18.1.2  Pull、Push与Pull-Push 369
    18.1.3  Flow API与Stream API 370
    18.2  Flow API 370
    18.2.1  订阅者Subscriber 370
    18.2.2  Subscriber示例 371
    18.2.3  发布者Publisher 372
    18.2.4  订阅Subscription 372
    18.2.5  处理器Processor 373
    18.3  实战:响应式编程综合示例 373
    18.3.1  定义Subscriber 373
    18.3.2  定义Publisher 375
    18.3.3  运行应用 377
    参考文献 383


    *** 次数:10600 已用完,请联系开发者***
    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!384324621@qq.com
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有★币奖励和额外收入!

    IO 源码网 » Java核心编程 刘伟卫 PDF 下载

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    IO源码吧
    一个高级程序员模板开发平台

    发表评论

    • 177会员总数(位)
    • 12330资源总数(个)
    • 53本周发布(个)
    • 0 今日发布(个)
    • 563稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    升级SVIP尊享更多特权立即升级