写给大忙人的JAVASE9核心技术pdf下载pdf下载

写给大忙人的JAVASE9核心技术百度网盘pdf下载

作者:
简介:本篇主要提供写给大忙人的JAVASE9核心技术pdf下载
出版社:慧海图书专营店
出版时间:2018-10
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:(美)CayS.Horstmann(凯·霍斯特曼) 著 杨谦等 译
定  价:128
出 版 社:电子工业出版社
出版日期:2018年10月01日
页  数:552
装  帧:平装
ISBN:9787121342783
章  基本的编程结构 1 1.1  个程序 2 1.1.1  "Hello,World"程序解析 2 1.1.2  编译与运行Java程序 3 1.1.3  方法调用 5 1.1.4  JShell 7 1.2  基本类型 11 1.2.1  有符号整型 11 1.2.2  浮点类型 12 1.2.3  char型 13 1.2.4  布尔型 14 1.3  变量 14 1.3.1  变量的声明 14 1.3.2  名称 14 1.3.3  初始化 15 1.3.4  常量 15 1.4  算术操作 17 1.4.1  赋值 18 1.4.2  基本运算 18 1.4.3  数学方法 20 1.4.4  数字类型转换 21 1.4.5  关系操作符和逻辑操作符 22 1.4.6  大数 24 1.5  字符串 24 1.5.1  字符串的连接 25 1.5.2  子字符串 26 1.5.3  字符串比较 26 1.5.4  数字与字符串转换 28 1.5.5  String类API 29 1.5.6  编码点和编码单元 31 1.6  输入与输出 33 1.6.1  读取输入 33 1.6.2  格式化输出 35 1.7  控制流 37 1.7.1  分支 37 1.7.2  循环 39 1.7.3  跳出循环与继续循环 41 1.7.4  局部变量作用域 43 1.8  数组和数组列表 44 1.8.1  使用数组 44 1.8.2  构造数组 45 1.8.3  数组列表 47 1.8.4  基本类型包装类 48 1.8.5  增强的for循环 48 1.8.6  数组与数组列表的复制 49 1.8.7  数组算法 50 1.8.8  命令行参数 51 1.8.9  多维数组 52 1.9  功能分解 55 1.9.1  静态方法的声明与调用 55 1.9.2  数组参数与返回值 55 1.9.3  可变参数 56 练习 57 第2章  面向对象编程 61 2.1  使用对象 62 2.1.1  访问器方法和修改器方法 2.1.2  对象引用 65 2.2  实现类 67 2.2.1  实例变量 67 2.2.2  方法头 67 2.2.3  方法体 68 2.2.4  实例方法调用 69 2.2.5  this引用 69 2.2.6  值调用 70 2.3  构造对象 72 2.3.1  实现构造函数 72 2.3.2  重载 73 2.3.3  调用另一个构造函数 74 2.3.4  默认初始化 74 2.3.5  实例变量的初始化 75 2.3.6  final实例变量 76 2.3.7  无参构造函数 76 2.4  静态变量和方法 77 2.4.1  静态变量 77 2.4.2  静态常量 78 2.4.3  静态初始块 79 2.4.4  静态方法 80 2.4.5  工厂方法 81 2.5  包 82 2.5.1  包的声明 82 2.5.2  jar命令 83 2.5.3  类路径 84 2.5.4  包访问权限 86 2.5.5  导入类 87 2.5.6  静态导入 88 2.6  嵌套类 89 2.6.1  静态嵌套类 89 2.6.2  内部类 91 2.6.3  内部类的特殊语法 93 2.7  文档注释 95 2.7.1  插入注释 95 2.7.2  类注释 96 2.7.3  方法注释 97 2.7.4  变量注释 97 2.7.5  通用注释 98 2.7.6  链接 98 2.7.7  包、模块和概述注释 99 2.7.8  注释的提取 99 练习 100 第3章  接口和lambda表达式 105 3.1  接口 106 3.1.1  声明接口 106 3.1.2  实现接口 107 3.1.3  转换为接口类型 109 3.1.4  强制类型转换和instanceof操作符 109 3.1.5  继承接口 .110 3.1.6  实现多个接口 111 3.1.7  常量 111 3.2  静态方法、默认方法和私有方法 112 3.2.1  静态方法 112 3.2.2  默认方法 112 3.2.3  解决默认方法冲突的问题 113 3.2.4 私有方法 115 3.3  接口示例 115 3.3.1  Comparable接口 115 3.3.2  Comparator接口 117 3.3.3  Runnable接口 118 3.3.4  UI回调 119 3.4  lambda表达式 120 3.4.1  lambda表达式语法 121 3.4.2  函数式接口 122 3.5  方法引用和构造函数引用 123 3.5.1  方法引用 123 3.5.2  构造函数引用 125 3.6  使用lambda表达式 126 3.6.1  实现延迟执行 126 3.6.2  选择函数式接口 127 3.6.3  实现自己的函数式接口 129 3.7  lambda表达式和变量作用域 130 3.7.1  lambda表达式的作用域 130 3.7.2  访问来自闭合作用域的变量 131 3.8  高阶函数 133 3.8.1  返回函数的方法 134 3.8.2  修改函数的方法 134 3.8.3  Comparator方法 135 3.9  局部类和匿名类 136 3.9.1  局部类 136 3.9.2  匿名类 137 练习 . 138 第4章  继承与反射 143 4.1  继承一个类 144 4.1.1  父类与子类 144 4.1.2  定义和继承子类方法 145 4.1.3  方法覆盖 145 4.1.4  子类的构造 147 4.1.5  父类赋值 147 4.1.6  转换 148 4.1.7  final方法和类 149 4.1.8  抽象方法和类 149 4.1.9  受保护访问 150 4.1.10  匿名子类 151 4.1.11  继承和默认方法 152 4.1.12  带super的方法表达式 153 4.2  Object:父类 153 4.2.1  toString方法 154 4.2.2  equals方法 156 4.2.3  hashCode方法 159 4.2.4  克隆对象 160 4.3  枚举 163 4.3.1  枚举方法 1 4.3.2  构造函数、方法和域 165 4.3.3  实例的实现体 165 4.3.4  静态成员 166 4.3.5  switch枚举对象 167 4.4  运行时类型信息和资源 168 4.4.1  Class类 168 4.4.2  资源加载 172 4.4.3  类加载器 172 4.4.4  上下文类加载器 174 4.4.5  服务加载器 176 4.5  反射 178 4.5.1  枚举类成员 178 4.5.2  对象检查 179 4.5.3  方法调用 180 4.5.4  对象构造 181 4.5.5  JavaBeans 182 4.5.6  使用数组 183 4.5.7  代理 185 练习 . 187 第5章  异常、断言和日志处理 191 5.1  异常处理 192 5.1.1  异常抛出 192 5.1.2  异常继承层次 193 5.1.3  已检查异常的声明 195 5.1.4  异常捕获 196 5.1.5  try-with-resources语句 197 5.1.6  finally子句 199 5.1.7  异常重抛和链接 200 5.1.8  未捕获的异常和堆栈踪迹 202 5.1.9  Objects.requireNonNull方法 203 5.2  断言 204 5.2.1  使用断言 205 5.2.2  启用和禁用断言 205 5.3  记录日志 206 5.3.1  采用日志记录器 206 5.3.2  日志记录器 207 5.3.3  日志级别 207 5.3.4  其他日志记录方法 208 5.3.5  日志记录的配置项 210 5.3.6  日志处理器 211 5.3.7  过滤器和格式化器 214 练习 215 第6章  泛型编程 219 6.1  泛型类 220 6.2  泛型方法 221 6.3  类型限定 222 6.4  类型变异和通配符 223 6.4.1  子类型通配符 224 6.4.2  父类型通配符 225 6.4.3  带类型变量的通配符 226 6.4.4  无限定通配符 228 6.4.5  通配符捕获 228 6.5  Java虚拟机中的泛型 229 6.5.1  类型擦除 229 6.5.2  转换插入 230 6.5.3  桥方法 230 6.6  泛型约束 232 6.6.1  无基本类型参数 232 6.6.2  所有类型在运行时都是原始的 233 6.6.3  不能实例化类型变量 234 6.6.4  不能构造参数化类型的数组 236 6.6.5  静态上下文中的类类型变量不是有效的 237 6.6.6  类型擦除后的方法可能不冲突 238 6.6.7  异常与泛型 239 6.7  反射与泛型 240 6.7.1  Class<T>类 240 6.7.2  虚拟机中的泛型类型信息 242 练习 243 第7章  集合 249 7.1  集合框架概要 249 7.2  迭代器 254 7.3  set 256 7.4  map 257 7.5  其他集合 261 7.5.1  Properties 261 7.5.2  位组 262 7.5.3  枚举set和枚举map 2 7.5.4  栈、队列、双端队列、优先级队列 2 7.5.5  弱哈希映射表 266 7.6  视图 266 7.6.1  小集合 267 7.6.2  范围 268 7.6.3  不可修改的视图 268 练习 . 269 第8章  Stream. 273 8.1  从迭代到Stream操作 274 8.2  创建Stream 275 8.3  filter、map和flatMap方法 277 8.4  提取子流和组合流 279 8.5  其他流转换 280 8.6  简单归约 281 8.7  Optional类型 282 8.7.1  如何使用Optional类型值 282 8.7.2  如何不使用Optional类型值 284 8.7.3  创建Optional类型值 284 8.7.4  使用flatMap来组合可选值函数 285 8.7.5  将Optional转变为流 286 8.8  收集结果 287 8.9  将结果收集到map中 289 8.10  分组和分片 290 8.11  下游收集器 291 8.12  归约操作 294 8.13  基本类型流 296 8.14  并行流 297 练习 300 第9章  输入与输出处理 305 9.1  输入/输出流、Reader和Writer 306 9.1.1  获取流对象 306 9.1.2  读取字节 307 9.1.3  写字节 308 9.1.4  字符编码 308 9.1.5  文本输入 311 9.1.6  文本输出 313 9.1.7  读/写二进制数据 314 9.1.8   随机存取文件 315 9.1.9  内存映射文件 315 9.1.10  文件锁 316 9.2  路径、文件和目录 317 9.2.1  路径 317 9.2.2  创建文件和目录 319 9.2.3  复制、移动和删除文件 320 9.2.4  访问目录内容 321 9.2.5  ZIP文件系统 324 9.3  HTTP连接 325 9.3.1  URLConnection类和HttpURLConnection类 326 9.3.2  HTTP Client API 327 9.4  正则表达式 330 9.4.1  正则表达式概述 330 9.4.2  找到一个匹配 334 9.4.3  找到所有匹配 335 9.4.4  分组 336 9.4.5  以分隔符号分割 337 9.4.6  替换匹配结果 338 9.4.7  标记 339 9.5  序列化 339 9.5.1  Serializable接口 340 9.5.2  瞬态实例变量 342 9.5.3  readObject和writeObject方法 342 9.5.4  readResolve和writeReplace方法 343 9.5.5  版本化 345 练习 . 346 0章  并发编程 351 10.1  并发任务 352 10.1.1  运行任务 352 10.1.2  Future 354 10.2  异步计算 357 10.2.1  可完成的Future 357 10.2.2  组合可完成的Future 359 10.2.3  UI回调中的长时间运行任务 362 10.3  线程安全 3 10.3.1  可见性 3 10.3.2  竞争条件 366 10.3.3  安全并发的策略 369 10.3.4  不可变类 369 10.4  并行算法 370 10.4.1  并行流 370 10.4.2  并行数组操作 371 10.5  线程安全的数据结构 372 10.5.1  ConcurrentHashMap . 373 10.5.2  阻塞队列 374 10.5.3  其他线程安全的数据结构 375 10.6  原子计数器和累加器 376 10.7  锁和条件 379 10.7.1  锁 379 10.7.2  synchronized关键字 380 10.7.3  条件等待 382 10.8  线程 385 10.8.1  启动线程 385 10.8.2  线程中断 386 10.8.3  线程变量 388 10.8.4  线程的其他属性 388 10.9  进程 389 10.9.1  构建进程 389 10.9.2  运行进程 391 10.9.3  ProcessHandle 392 练习 . 393 1章  注解. 401 11.1  使用注解 402 11.1.1  注解元素 402 11.1.2  多注解和重复注解 403 11.1.3  注解声明 404 11.1.4  注解类型用途 405 11.1.5  明确接收者 406 11.2  定义注解 408 11.3  标准注解 410 11.3.1  编译相关的注解 411 11.3.2  资源管理相关的注解 412 11.3.3  元注解 412 11.4  运行时注解处理 414 11.5  源码级注解处理 418 11.5.1  注解处理器 418 11.5.2  语言模型API 419 11.5.3  使用注解生成源码 419 练习 423 2章  日期和时间API 427 12.1  时间线 428 12.2  本地日期 430 12.3  日期调整器 433 12.4  本地时间 435 12.5  时区时间 436 12.6  格式化和解析 439 12.7  应对遗留代码 442 练习 . 443 3章  化 447 13.1  本地化 448 13.1.1  指定本地化 448 13.1.2  默认的locale 451 13.1.3  显示名称 452 13.2  数字格式化 453 13.3  货币符号 454 13.4  日期和时间格式化 455 13.5  排序和规范化 457 13.6  消息格式化 459 13.7  资源束 461 13.7.1  组织资源束 462 13.7.2  资源束类 4 13.8  字符编码 465 13.9  项 466 练习 468 4章  编译与脚本 471 14.1  编译器API 471 14.1.1  调用编译器 472 14.1.2  启动编译任务 472 14.1.3  从内存读取源文件 473 14.1.4  向内存写入字节码 474 14.1.5  捕获诊断信息 476 14.2  脚本API 476 14.2.1  获取脚本引擎 476 14.2.2  绑定 477 14.2.3  重定向输入与输出 478 14.2.4  调用脚本函数和方法 479 14.2.5  编译脚本 480 14.3  Nashorn脚本引擎 481 14.3.1  从命令行运行Nashorn. 481 14.3.2  调用getter、setter和重载方法 482 14.3.3  构造Java对象 483 14.3.4  和Java中的字符串 485 14.3.5  数字 485 14.3.6  使用数组 486 14.3.7  列表与映射 487 14.3.8  lambda表达式 488 14.3.9  继承Java类与实现Java接口 489 14.3.10  异常 491 14.4  shell脚本与Nashorn 491 14.4.1  执行shell命令 492 14.4.2  字符串插值 492 14.4.3  脚本输入 493 练习 494 5章  Java平台模块系统 499 15.1  模块的概念 500 15.2  模块命名 501 15.3  模块化“Hello, World!”程序 502 15.4  引入模块 504 15.5  导出包 506 15.6  模块化和反射访问 510 15.7  模块化的JAR . 513 15.8  自动模块和未命名模块 515 15.9  用于迁移的命令行标识 516 15.10  传递和静态引入 518 15.11  限定导入和打开 520 15.12  服务加载 521 15.13  模块化用的工具 522 练习 525
本书是经典著作《Java核心技术》(Core Java)作者Cay S. Horstmann的全新力作,书中以关键的核心技术为着眼点,以全局高度提炼语言精髓,以高浓度、高含金量的方式对Java SE 9的新特性进行细致讲解。作者将其沉浸于Java多年的真知灼见蕴藏于书中,既扎实覆盖Java编程的基础知识,又匠心地从Java 9及其重要的新特性之一――模块发端,带领读者探索和实践Java 的诸多新特性,诸如JShell、集合类工厂方法、改进的Stream API、私有接口、HTTP/2、并发编程中的增强部分、全新的时间/日期API,以及脚本语言在Java中的使用。“Impatient”系列图书风格鲜明,除悉数出自大师之手外,更以文笔轻松、易读易懂、富含生动且可用于实践的示例程序(下载源代码后可直接运行)而见长。这种亲身实践的讲授模式,很好便于读者加深对技术的理解和掌握。初学者可用来参考入门;等
"推荐序一 1991年,来自Sun 公司的一个名为“Green Team”的小团队的3个人:James Gosling、Mike Sheridan和Patrick Naughton发布了一个叫作“Greentalk”的语言,其初设计目标是在小型嵌入式设备中运行应用程序,这也就是Java语言的雏形。自1995年发行的个 Alpha 版本开始,Java距今已有23年历史了,可谓经久不衰,算得上历史上成功的语言了。 2017年9月21日,Java 9 发布了,引入了诸多新特性,例如,集合类工厂方法、私有接口、支持HTTP/2,以及并发处理的改进等。其实做 Java Web 开发的时间越长,越需要对 Java 底层实现深入了解。通过本书,能够准确理解Java 技术的走向,帮助 Java开发者从 JDK 层面重构应用的代码。另外,本书是国内目前关于 Java 9为数不多的中文版书籍,而本书的译者等