图书目录

目录

第1章Java简介

1.1Java概述

1.1.1什么是计算机语言

1.1.2什么是Java语言

1.1.3Java语言的特点

1.2Java开发环境的搭建

1.2.1什么是JDK

1.2.2安装JDK

1.2.3配置环境变量

1.3Java的运行机制

1.3.1编写Java源文件

1.3.2运行Java程序

1.4本章小结

1.5习题

第2章Java基本语法

2.1一个简单的Java代码

2.2Java中的注释

2.3Java中的标识符

2.4Java中的数据类型

2.4.1布尔类型

2.4.2字符类型

2.4.3整数类型

2.4.4浮点类型

2.4.5BigDecimal类

2.4.6数据类型之间的转换

2.5Java中的运算符

2.5.1算术运算符

2.5.2赋值运算符

2.5.3自增/自减运算符

2.5.4关系运算符

2.5.5逻辑运算符

2.5.6位运算符

2.5.7三目运算符

2.5.8运算符的优先级

2.6Java中的变量

2.6.1变量的分类和区别

2.6.2this关键字

2.6.3用var声明局部变量

2.7流程控制语句

2.7.1顺序控制

2.7.2判断控制

2.7.3循环控制

2.8Java中的数组

2.8.1数组的基本用法

2.8.2数组复制

2.8.3数组排序

2.8.4多维数组

2.8.5引用数据类型的数组

2.9本章小结

2.10习题

第3章面向对象的思想

3.1什么是类和对象

3.2类的定义

3.2.1类定义一般格式

3.2.2成员变量

3.2.3成员方法

3.2.4可访问性修饰符

3.2.5常见的修饰符

3.3对象的创建和使用

3.4类的封装

3.5类的继承

3.5.1isa和hasa

3.5.2拓展子类

3.6构造方法

3.6.1构造方法的作用

3.6.2super()和this()

3.7多态

3.7.1向上转型

3.7.2向下转型

3.7.3重载和覆盖

3.7.4abstract关键字

3.8单例模式

3.9内部类

3.9.1成员内部类

3.9.2静态内部类

3.9.3局部内部类

3.9.4匿名内部类

3.10接口

3.11本章小结

3.12习题

第4章Java中的常用类

4.1String类

4.1.1String类的对象创建

4.1.2String类的常用方法

4.1.3String类的常见问题

4.2StringBuffer与StringBuilder 类

4.3Random类

4.3.1Random类的对象创建

4.3.2Random类的常用方法

4.4Object类

4.4.1clone()方法

4.4.2toString()方法

4.4.3equals()方法

4.4.4针对instanceof运算符的模式匹配

4.4.5hashCode()方法

4.5日期和时间类

4.5.1Date类

4.5.2Calendar类

4.5.3LocalDateTime类

4.6本章小结

4.7习题

第5章集合

5.1泛型

5.2包装类

5.3集合分类

5.4List接口

5.4.1ArrayList类

5.4.2如何遍历集合

5.4.3LinkedList类

5.5Set接口

5.5.1HashSet类

5.5.2LinkedHashSet类

5.5.3TreeSet类

5.6Map接口

5.6.1HashMap类

5.6.2Java 7.0前后HashMap底层数据的变化

5.6.3哈希函数

5.6.4LinkedHashMap类

5.6.5ConcurrentHashMap类和Hashtable类

5.7Collections工具类

5.8本章小结

5.9习题

第6章函数式编程

6.1Lambda表达式 

6.2Java 8.0集合新增方法

6.3方法引用

6.3.1类名::静态方法

6.3.2对象名::实例方法

6.3.3类名::实例方法

6.3.4类名::new

6.4四大函数式接口

6.5自定义函数式接口

6.6本章小结

6.7习题

第7章Stream流

7.1创建Stream流

7.2流的中间操作

7.3Optional类

7.3.1创建Optional类

7.3.2Optional类中的核心方法

7.4流的终端方法

7.5数字流

7.6本章小结

7.7习题

第8章枚举

8.1Java 5.0前后定义枚举对比

8.2Enum类

8.3values()和valueOf()方法内部机制

8.4EnumSet类

8.5EnumMap类

8.6本章小结

8.7习题

第9章异常

9.1异常的概念

9.2Exception和Error类

9.2.1编译时异常和运行时异常

9.2.2Throwable类

9.3捕获异常

9.4throw与throws关键字

9.5自定义异常

9.6多重捕获

9.7使用finally执行清理操作

9.8trywithresources语句

9.9本章小结

9.10习题

第10章I/O流

10.1输入流与输出流

10.2字节流

10.2.1InputStream类核心方法

10.2.2OutputStream类核心方法

10.2.3字节流体系结构

10.2.4字节流读写文件

10.2.5视频、音频文件的复制

10.2.6装饰器模式

10.2.7字节缓冲流

10.2.8对象流

10.3字符流

10.3.1字符流体系结构

10.3.2字符流读写文件

10.3.3转换流

10.3.4字符缓冲流

10.3.5LineNumberReader类

10.4其他的流

10.4.1DataInputStream/DataOutputStream类

10.4.2ByteArrayInputStream/ByteArrayOutputStream类

10.4.3CharArrayReader/CharArrayWriter类

10.5java.nio

10.5.1Path类

10.5.2Path类中的常用方法

10.5.3获得Path片段

10.5.4Files类中的常用方法

10.5.5walk()和walkFileTree()方法

10.5.6Files读写文件

10.6本章小结

10.7习题

第11章多线程

11.1什么是进程

11.2什么是线程

11.3创建线程的方式1

11.4线程的五大状态

11.5线程类核心方法

11.6CountDownLatch类

11.7多线程同步

11.7.1共享资源

11.7.2线程同步

11.7.3死锁问题

11.7.4线程通信

11.7.5再谈单例模式之懒汉式

11.7.6volatile关键字

11.8原子类

11.9创建线程的方式2

11.10线程池

11.11并行流

11.11.1parallel()方法

11.11.2parallel()方法与线程池

11.12CompletableFuture类

11.12.1CompletableFuture类的强大之处

11.12.2创建异步任务的三种常见方式

11.12.3异步处理的方法

11.12.4异步组合的方法

11.12.5CompletableFuture类的异常处理

11.12.6异步方法中锁的使用

11.13本章小结

11.14习题

第12章反射机制

12.1Class对象

12.2Class类核心方法

12.3Method类核心方法

12.4Field类核心方法

12.5Constructor类核心方法

12.6本章小结

12.7习题

第13章网络通信

13.1网络通信协议

13.2IP地址和端口号

13.3InetAddress类

13.4TCP

13.4.1ServerSocket类

13.4.2Socket类

13.4.3TCP通信示例程序

13.4.4多线程的TCP程序

13.5本章小结

13.6习题