书刊介绍
《Java无难事》内容简介
本书让你学习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类
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、实战练习