作品简介

本书让你学习Java再无难事!本书系统地讲解了Java开发人员需要掌握的核心知识,按照中国人的思维习惯,由浅入深、循序渐进、引导式地带领你快速掌握Java知识。

全书秉承作者一贯的写作风格,对知识的讲解让你知其然且知其所以然。

全书语言通俗易懂、幽默风趣,在内容安排上由浅入深,在知识讲解上深入浅出,为你节省脑细胞,让你轻松愉快地掌握Java知识。看书累了,没关系,还有视频。同步学习视频并不是书中内容的重复,而是有力的补充和完善。

本书还讲解了依赖注入(IoC/DI)容器、面向切面编程(AOP)、对象关系映射(ORM)框架的实现原理,同时还给出了并发编程领域中经常用到的线程池的实现。

本书涵盖了从Java 5到Java 11的所有重要新特性,不仅适合初学Java编程的读者,也适合有一定经验的读者,甚至对于正在从事Java开发工作的读者也适用。

孙鑫

国内IT技术和教育专家2009年中国教育杰出人物,具有20多年的软件开发和教育培训经验,精通多种程序语言和技术架构。2004年曾推出VC++深入编程”和“Java无难事”教学视频。引起了强烈的反响,在网络上掀起了一股视频教学的风潮,数十万名学员通过这两套视频走上了软件开发的道路。作者从2006年开始,相继出版了多本畅销技术专著,包括:《Java Web开发详解》

《VC++深入详解》《Struts 2深入详解》《ServletlJSP深入详解》《XML、XML Schema.XSLT 2.0和XQuery开发详解》《HTML5、CSS和JavaScript开发》《Vue.js从入门到实战》。

作品目录

  • 内容简介
  • 前言
  • 第1章 Java初窥
  • 1.1 Java的起源
  • 1.2 Java能做什么
  • 1.3 相关概念
  • 1.4 安装JDK
  • 1.5 Java的特性
  • 1.6 Java跨平台的原理
  • 1.7 第一个程序
  • 1.8 扫清Java征途中的两块绊脚石
  • 1.9 交互式编程环境JShell
  • 1.10 为Java程序打包
  • 1.11 总结
  • 1.12 实战练习
  • 第2章 初识Java语言
  • 2.1 标识符
  • 2.2 数据类型
  • 2.3 变量和字面常量
  • 2.4 类型转换的奥秘
  • 2.5 运算符
  • 2.6 表达式与语句
  • 2.7 程序结构
  • 2.8 数组
  • 2.9 分隔符
  • 2.10 注释
  • 2.11 Java中的关键字
  • 2.12 总结
  • 2.13 实战练习
  • 第3章 进入对象的世界
  • 3.1 面向对象思想
  • 3.2 对象的状态和行为
  • 3.3 面向对象编程的难点
  • 3.4 Java的类与对象
  • 3.5 字段(field)与方法
  • 3.6 构造方法与new关键字
  • 3.7 方法重载
  • 3.8 特殊变量this
  • 3.9 关键字static
  • 3.10 常量
  • 3.11 枚举(enum)
  • 3.12 总结
  • 3.13 实战练习
  • 第4章 高级面向对象编程
  • 4.1 继承
  • 4.2 方法的覆盖(override)
  • 4.3 多态(polymorphism)
  • 4.4 特殊变量super
  • 4.5 封装与private
  • 4.6 对外发布的接口——public
  • 4.7 再谈final
  • 4.8 对象的销毁
  • 4.9 面向对象的四个基本特性
  • 4.10 总结
  • 4.11 实战练习
  • 第5章 包和访问控制
  • 5.1 在包中的类
  • 5.2 导入类
  • 5.3 静态导入
  • 5.4 静态导入枚举类型
  • 5.5 访问控制
  • 5.6 总结
  • 5.7 实战练习
  • 第6章 抽象类与接口
  • 6.1 抽象方法和抽象类
  • 6.2 接口
  • 6.3 接口中的数据成员
  • 6.4 接口的继承与实现
  • 6.5 接口的应用
  • 6.6 深入接口——通信双方的协议
  • 6.7 接口的默认方法和静态方法
  • 6.8 接口的私有方法
  • 6.9 总结
  • 6.10 实战练习
  • 第7章 内部类(Inner Class)
  • 7.1 创建内部类
  • 7.2 访问外部类
  • 7.3 内部类与接口
  • 7.4 局部内部类
  • 7.5 匿名内部类
  • 7.6 静态内部类
  • 7.7 内部类的继承与覆盖
  • 7.8 内部类规则总结
  • 7.9 回调与事件机制
  • 7.10 总结
  • 7.11 实战练习
  • 第8章 异常处理
  • 8.1 什么是异常
  • 8.2 捕获异常
  • 8.3 使用finally进行清理
  • 8.4 抛出异常与声明异常
  • 8.5 RuntimeException
  • 8.6 创建自己的异常体系结构
  • 8.7 try-with-resources
  • 8.8 总结
  • 8.9 实战练习
  • 第9章 深入字符串
  • 9.1 String类
  • 9.2 ==运算符与equals方法
  • 9.3 compareTo方法
  • 9.4 字符串拼接
  • 9.5 操作字符串
  • 9.6 StringBuffer类和StringBuilder类
  • 9.7 格式化输出
  • 9.8 正则表达式
  • 9.9 总结
  • 9.10 实战练习
  • 第10章 Java应用
  • 10.1 再论引用类型
  • 10.2 操作数组
  • 10.3 基本数据类型与封装类
  • 10.4 对象的克隆
  • 10.5 国际化与本地化
  • 10.6 总结
  • 10.7 实战练习
  • 第11章 泛型
  • 11.1 为什么需要泛型
  • 11.2 泛型与基本数据类型
  • 11.3 泛型类中的数组
  • 11.4 元组
  • 11.5 泛型接口
  • 11.6 泛型方法
  • 11.7 通配符类型
  • 11.8 类型参数的限定
  • 11.9 深入泛型机制
  • 11.10 泛型的一些问题
  • 11.11 使用泛型的限制
  • 11.12 类型参数的命名约定
  • 11.13 总结
  • 11.14 实战练习
  • 第12章 Lambda表达式
  • 12.1 理解Lambda表达式
  • 12.2 Lambda表达式的语法
  • 12.3 函数式接口
  • 12.4 内置函数式接口
  • 12.5 方法引用
  • 12.6 构造方法引用
  • 12.7 数组引用
  • 12.8 总结
  • 12.9 实战练习
  • 第13章 集合类
  • 13.1 集合框架中的接口与实现类
  • 13.2 迭代
  • 13.3 数据结构简介
  • 13.4 List
  • 13.5 Set
  • 13.6 Queue
  • 13.7 Collections类
  • 13.8 再探Comparator接口
  • 13.9 深入Map类型
  • 13.10 遗留的集合
  • 13.11 集合工厂方法
  • 13.12 总结
  • 13.13 实战练习
  • 第14章 Stream
  • 14.1 什么是Stream
  • 14.2 创建流
  • 14.3 并行流与串行流
  • 14.4 有序流和无序流
  • 14.5 中间操作
  • 14.6 终端操作
  • 14.7 并行流的性能
  • 14.8 总结
  • 14.9 实战练习
  • 第15章 Class类与反射API
  • 15.1 Class<T>类
  • 15.2 获取类型信息
  • 15.3 检测类型
  • 15.4 使用Class和反射创建类的对象
  • 15.5 使用反射调用对象的方法
  • 15.6 使用反射修改对象的字段
  • 15.7 依赖注入容器
  • 15.8 动态代理
  • 15.9 ClassLoader
  • 15.10 适可而止
  • 15.11 方法句柄
  • 15.12 服务加载器
  • 15.13 总结
  • 15.14 实战练习
  • 第16章 注解(Annotation)
  • 16.1 预定义的注解
  • 16.2 自定义注解
  • 16.3 元注解
  • 16.4 注解与反射
  • 16.5 编写注解处理器
  • 16.6 总结
  • 16.7 实战练习
  • 第17章 多线程
  • 17.1 基本概念
  • 17.2 Java对多线程的支持
  • 17.3 Java线程
  • 17.4 线程同步
  • 17.5 线程本地存储
  • 17.6 生产者与消费者
  • 17.7 线程的终止
  • 17.8 线程池
  • 17.9 总结
  • 17.10 实战练习
  • 第18章 Java常用工具类
  • 18.1 java.lang.Math类
  • 18.2 随机数
  • 18.3 大数字运算
  • 18.4 日期时间工具
  • 18.5 Java 8新增的日期/时间API
  • 18.6 Optional类
  • 18.7 Base64编解码
  • 18.8 Timer类
  • 18.9 Runtime类与单例设计模式
  • 18.10 总结
  • 18.11 实战练习
  • 第19章 Java I/O操作
  • 19.1 File类
  • 19.2 流式I/O
  • 19.3 输入输出流
  • 19.4 Java I/O库的设计原则
  • 19.5 Reader和Writer
  • 19.6 InputStreamReader和OutputStreamWriter
  • 19.7 字符集与中文乱码问题
  • 19.8 RandomAccessFile类
  • 19.9 标准I/O
  • 19.10 对象序列化
  • 19.11 NIO
  • 19.12 Files类与Path接口
  • 19.13 异步文件通道
  • 19.14 总结
  • 19.15 实战练习
  • 第20章 Java并发编程
  • 20.1 Callable和Future接口
  • 20.2 新的任务执行框架
  • 20.3 锁对象
  • 20.4 条件对象
  • 20.5 同步工具类
  • 20.6 线程安全的集合
  • 20.7 Fork/Join框架
  • 20.8 CompletableFuture
  • 20.9 原子操作
  • 20.10 变量句柄
  • 20.11 总结
  • 20.12 实战练习
  • 第21章 Eclipse开发工具
  • 21.1 Eclipse简介
  • 21.2 下载并安装
  • 21.3 Eclipse开发环境介绍
  • 21.4 配置Eclipse
  • 21.5 开发Java程序
  • 21.6 调试代码
  • 21.7 JUnit单元测试
  • 21.8 导入现有的Eclipse项目
  • 21.9 总结
  • 21.10 实战练习
  • 第22章 图形界面编程
  • 22.1 AWT
  • 22.2 布局管理器
  • 22.3 事件模型
  • 22.4 Swing
  • 22.5 Swing与并发
  • 22.6 使用WindowBuilder快速开发图形界面程序
  • 22.7 总结
  • 22.8 实战练习
  • 第23章 Java网络编程
  • 23.1 网络基础知识
  • 23.2 基于TCP的套接字编程
  • 23.3 基于UDP的套接字编程
  • 23.4 非阻塞的套接字编程
  • 23.5 URL和URLConnection
  • 23.6 HTTP Client API
  • 23.7 总结
  • 23.8 实战练习
  • 第24章 数据库访问
  • 24.1 JDBC驱动程序的类型
  • 24.2 安装数据库
  • 24.3 下载MySQL JDBC驱动
  • 24.4 JDBC API
  • 24.5 加载并注册数据库驱动
  • 24.6 建立到数据库的连接
  • 24.7 访问数据库
  • 24.8 事务处理
  • 24.9 可滚动和可更新的结果集
  • 24.10 行集
  • 24.11 JDBC数据源和连接池
  • 24.12 总结
  • 24.13 实战练习
  • 第25章 Java平台模块系统
  • 25.1 Java平台的模块
  • 25.2 模块的物理结构
  • 25.3 创建模块
  • 25.4 模块依赖
  • 25.5 导出包
  • 25.6 可传递的模块与静态依赖
  • 25.7 开放包
  • 25.8 限定导出和开放
  • 25.9 服务加载
  • 25.10 未命名模块
  • 25.11 自动模块
  • 25.12 为什么要引入模块系统
  • 25.13 总结
  • 25.14 实战练习
展开全部