图书目录

随书资源 AI助教

第1章 概述 ………………………………………………………… 1

1.1 引言 ………………………………………………………………… 2

1.2 Java简史 …………………………………………………………… 2

1.3 Java的特点 ………………………………………………………… 2

1.4 Java的开发环境 …………………………………………………… 3

1.4.1 集成开发环境 ……………………………………………… 3

1.4.2 JDK ………………………………………………………… 3

1.5 第一个Java程序…………………………………………………… 4

1.6 AI时代的Java编程 ……………………………………………… 4

1.6.1 在 AI时代,学习Java程序设计有何意义? ……………… 5

1.6.2 在 AI时代,如何开设Java程序设计课程? ……………… 5

1.6.3 在 AI时代,如何学习Java程序设计? …………………… 5

1.6.4 在 AI时代,在学习Java的过程中碰到问题怎么办? …… 6

1.6.5 在 AI时代,如何让自己成为一个更具竞争力的Java

程序员? …………………………………………………… 6

1.6.6 在 AI时代,有了大模型,还需掌握Java语言的基础

知识吗? …………………………………………………… 6

1.7 本章小结 …………………………………………………………… 6

习题………………………………………………………………………… 6

第2章 基本语法 …………………………………………………… 8

2.1 引言 ………………………………………………………………… 9

2.2 标识符 ……………………………………………………………… 9

2.3 关键字 ……………………………………………………………… 9

2.4 基本数据类型……………………………………………………… 10

2.5 运算符……………………………………………………………… 11

2.5.1 算术运算符………………………………………………… 11

Ⅳ Java大学教程:语言、类库与 AI应用

2.5.2 关系运算符………………………………………………… 11

2.5.3 逻辑运算符………………………………………………… 12

2.5.4 位运算符…………………………………………………… 12

2.5.5 赋值运算符………………………………………………… 12

2.5.6 条件运算符………………………………………………… 12

2.5.7 其他运算符………………………………………………… 12

2.6 表达式……………………………………………………………… 13

2.7 语句………………………………………………………………… 13

2.7.1 声明语句…………………………………………………… 13

2.7.2 表达式语句………………………………………………… 13

2.7.3 条件语句…………………………………………………… 13

2.7.4 循环语句…………………………………………………… 14

2.7.5 跳转语句…………………………………………………… 14

2.7.6 其他语句…………………………………………………… 15

2.8 数组………………………………………………………………… 16

2.9 本章小结…………………………………………………………… 16

习题 ……………………………………………………………………… 16

第3章 类与对象 ………………………………………………… 18

3.1 引言………………………………………………………………… 19

3.2 类…………………………………………………………………… 19

3.2.1 类的声明…………………………………………………… 19

3.2.2 类的成员变量……………………………………………… 20

3.2.3 类的成员方法……………………………………………… 22

3.2.4 内部类……………………………………………………… 25

3.2.5 讨论………………………………………………………… 26

3.3 对象………………………………………………………………… 26

3.3.1 对象的创建………………………………………………… 26

3.3.2 对象的反射创建…………………………………………… 27

3.3.3 对象的引用………………………………………………… 29

3.3.4 对象的实体………………………………………………… 29

3.3.5 对象的使用………………………………………………… 30

3.3.6 讨论………………………………………………………… 31

3.4 本章小结…………………………………………………………… 32

习题 ……………………………………………………………………… 32

第4章 继承 ………………………………………………………… 34

4.1 引言………………………………………………………………… 35

4.2 子类………………………………………………………………… 35

目录 Ⅴ

4.2.1 子类的继承性……………………………………………… 35

4.2.2 子类的成员变量…………………………………………… 36

4.2.3 子类的成员方法…………………………………………… 39

4.3 子类对象…………………………………………………………… 42

4.3.1 子类对象的创建…………………………………………… 42

4.3.2 子类对象的引用…………………………………………… 43

4.3.3 子类对象的实体…………………………………………… 43

4.3.4 子类对象的使用…………………………………………… 43

4.4 本章小结…………………………………………………………… 46

习题 ……………………………………………………………………… 47

第5章 访问权限 ………………………………………………… 48

5.1 引言………………………………………………………………… 49

5.2 访问修饰符………………………………………………………… 49

5.2.1 关键字public …………………………………………… 49

5.2.2 关键字protected ………………………………………… 50

5.2.3 无修饰符(默认)…………………………………………… 50

5.2.4 关键字private …………………………………………… 50

5.3 访问范围…………………………………………………………… 50

5.3.1 类内………………………………………………………… 50

5.3.2 包内………………………………………………………… 51

5.3.3 跨包………………………………………………………… 52

5.4 本章小结…………………………………………………………… 54

习题 ……………………………………………………………………… 55

第6章 抽象类与接口 …………………………………………… 56

6.1 引言………………………………………………………………… 57

6.2 抽象类……………………………………………………………… 57

6.2.1 抽象类的声明……………………………………………… 57

6.2.2 抽象类的成员变量………………………………………… 57

6.2.3 抽象类的成员方法………………………………………… 58

6.2.4 抽象类的继承……………………………………………… 58

6.2.5 继承抽象类的匿名类……………………………………… 60

6.3 接口………………………………………………………………… 61

6.3.1 接口的声明………………………………………………… 61

6.3.2 接口的成员变量…………………………………………… 61

6.3.3 接口的成员方法…………………………………………… 62

6.3.4 接口的实现………………………………………………… 63

6.3.5 实现接口的匿名类………………………………………… 65

Ⅵ Java大学教程:语言、类库与 AI应用

6.4 本章小结…………………………………………………………… 65

习题 ……………………………………………………………………… 66

第7章 泛型 ………………………………………………………… 67

7.1 引言………………………………………………………………… 68

7.2 泛型方法…………………………………………………………… 68

7.3 泛型类……………………………………………………………… 70

7.3.1 泛型类的声明、定义和使用 ……………………………… 70

7.3.2 泛型类的继承……………………………………………… 71

7.4 泛型接口…………………………………………………………… 71

7.4.1 泛型接口的声明…………………………………………… 71

7.4.2 泛型接口的实现…………………………………………… 71

7.5 本章小结…………………………………………………………… 72

习题 ……………………………………………………………………… 73

第8章 字符串 …………………………………………………… 74

8.1 引言………………………………………………………………… 75

8.2 String类 …………………………………………………………… 75

8.2.1 字符串字面量……………………………………………… 75

8.2.2 部分成员变量……………………………………………… 75

8.2.3 构造方法…………………………………………………… 76

8.2.4 部分常用方法……………………………………………… 77

8.3 StringBuffer类 …………………………………………………… 78

8.3.1 部分成员变量……………………………………………… 79

8.3.2 构造方法…………………………………………………… 79

8.3.3 部分常用方法……………………………………………… 79

8.4 StringBuilder类 …………………………………………………… 80

8.5 正则表达式与模式匹配…………………………………………… 81

8.5.1 正则表达式………………………………………………… 81

8.5.2 模式匹配…………………………………………………… 83

8.6 本章小结…………………………………………………………… 85

习题 ……………………………………………………………………… 85

第9章 数据结构 ………………………………………………… 87

9.1 引言………………………………………………………………… 88

9.2 映射………………………………………………………………… 88

9.2.1 HashMap类 ……………………………………………… 88

9.2.2 LinkedHashMap类 ……………………………………… 90

9.2.3 TreeMap类 ……………………………………………… 91

目录 Ⅶ

9.2.4 ConcurrentHashMap类 ………………………………… 97

9.3 列表………………………………………………………………… 97

9.3.1 ArrayList类 ……………………………………………… 98

9.3.2 LinkedList类 …………………………………………… 100

9.3.3 CopyOnWriteArrayList类 ……………………………… 100

9.4 集合 ……………………………………………………………… 101

9.4.1 HashSet类 ……………………………………………… 101

9.4.2 TreeSet类 ……………………………………………… 102

9.4.3 LinkedHashSet类 ……………………………………… 103

9.4.4 ConcurrentSkipListSet类 ……………………………… 103

9.5 队列 ……………………………………………………………… 103

9.5.1 PriorityQueue类 ………………………………………… 103

9.5.2 ArrayDeque类 …………………………………………… 105

9.5.3 ConcurrentLinkedQueue类 …………………………… 106

9.6 位集合 …………………………………………………………… 106

9.7 应用举例 ………………………………………………………… 108

9.8 本章小结 ………………………………………………………… 113

习题……………………………………………………………………… 114

第10章 I/O ……………………………………………………… 116

10.1 引言……………………………………………………………… 117

10.2 文件……………………………………………………………… 117

10.3 字符流…………………………………………………………… 119

10.3.1 文件字符流 ……………………………………………… 120

10.3.2 字符数组字符流 ………………………………………… 121

10.3.3 字符串字符流 …………………………………………… 122

10.3.4 字节字符转换流 ………………………………………… 123

10.3.5 缓冲字符流 ……………………………………………… 125

10.4 字节流…………………………………………………………… 126

10.4.1 文件字节流 ……………………………………………… 127

10.4.2 字节数组字节流 ………………………………………… 128

10.4.3 数据字节流 ……………………………………………… 129

10.4.4 对象字节流 ……………………………………………… 131

10.4.5 缓冲字节流 ……………………………………………… 133

10.5 其他……………………………………………………………… 134

10.5.1 随机访问文件 …………………………………………… 134

10.5.2 扫描器 …………………………………………………… 135

10.6 本章小结………………………………………………………… 135

习题……………………………………………………………………… 136

Ⅷ Java大学教程:语言、类库与 AI应用

第11章 线程……………………………………………………… 137

11.1 引言……………………………………………………………… 138

11.2 线程的基本概念………………………………………………… 138

11.2.1 线程的含义 ……………………………………………… 138

11.2.2 线程的状态 ……………………………………………… 138

11.2.3 线程的优先级 …………………………………………… 139

11.3 创建线程………………………………………………………… 139

11.3.1 Runnable接口 ………………………………………… 139

11.3.2 Thread类 ……………………………………………… 139

11.3.3 继承 Thread类 ………………………………………… 141

11.3.4 实现 Runnable接口 …………………………………… 142

11.4 线程同步………………………………………………………… 143

11.4.1 不同步的示例 …………………………………………… 143

11.4.2 关键字synchronized…………………………………… 144

11.4.3 ReentrantLock类 ……………………………………… 146

11.4.4 其他同步方式 …………………………………………… 148

11.5 线程通信………………………………………………………… 148

11.5.1 通过 Object类的方法 ………………………………… 148

11.5.2 通过 Condition接口的方法 …………………………… 152

11.6 线程池…………………………………………………………… 154

11.7 本章小结………………………………………………………… 156

习题……………………………………………………………………… 157

第12章 网络……………………………………………………… 159

12.1 引言……………………………………………………………… 160

12.2 网络的基本概念………………………………………………… 160

12.2.1 URL类 ………………………………………………… 160

12.2.2 InetAddress类 ………………………………………… 161

12.2.3 InetSocketAddress类 ………………………………… 162

12.3 TCP编程 ……………………………………………………… 162

12.3.1 ServerSocket类 ………………………………………… 162

12.3.2 Socket类………………………………………………… 163

12.3.3 点对点通信 ……………………………………………… 163

12.4 UDP编程 ……………………………………………………… 167

12.4.1 DatagramPacket类 …………………………………… 167

12.4.2 DatagramSocket类 …………………………………… 167

12.4.3 点对点通信 ……………………………………………… 168

12.4.4 组播通信 ………………………………………………… 169

12.5 本章小结………………………………………………………… 171

目录 Ⅸ

习题……………………………………………………………………… 171

第13章 数据库 ………………………………………………… 173

13.1 引言……………………………………………………………… 174

13.2 MySQL ………………………………………………………… 174

13.3 数据库编程……………………………………………………… 175

13.3.1 MySQLJDBC驱动程序 ……………………………… 175

13.3.2 DriverManager类 ……………………………………… 175

13.3.3 Connection接口………………………………………… 175

13.3.4 Statement接口 ………………………………………… 175

13.3.5 完整示例 ………………………………………………… 176

13.4 本章小结………………………………………………………… 177

习题……………………………………………………………………… 177

第14章 AI应用开发技术 …………………………………… 178

14.1 引言……………………………………………………………… 179

14.2 Java与 AI应用 ………………………………………………… 179

14.2.1 数据结构:交互数据的载体 …………………………… 179

14.2.2 I/O 流与网络编程:数据传输的桥梁 ………………… 180

14.2.3 多线程与JDBC:复杂任务的支撑 …………………… 181

14.3 AI服务平台和 API …………………………………………… 183

14.3.1 AI服务平台 …………………………………………… 183

14.3.2 AIAPI调用流程 ……………………………………… 184

14.3.3 AIAPI调用实例 ……………………………………… 185

14.4 提示词…………………………………………………………… 191

14.4.1 提示词的基本结构 ……………………………………… 191

14.4.2 提示词的撰写技巧 ……………………………………… 191

14.5 AI应用实例 …………………………………………………… 192

14.5.1 项目1:智能问答助手(同步调用)…………………… 192

14.5.2 项目2:AI点评工具(异步调用)……………………… 195

14.6 本章小结………………………………………………………… 205

习题……………………………………………………………………… 206

第15章 AI应用系统实践 …………………………………… 207

15.1 引言……………………………………………………………… 208

15.2 LangChain4j框架 ……………………………………………… 208

15.2.1 LangChain4j框架简介 ………………………………… 208

15.2.2 LangChain4j框架示例 ………………………………… 208

15.3 需求梳理………………………………………………………… 211

Ⅹ Java大学教程:语言、类库与 AI应用

15.4 交互界面………………………………………………………… 212

15.5 会话管理………………………………………………………… 213

15.5.1 基本原理 ………………………………………………… 213

15.5.2 会话历史 ………………………………………………… 213

15.5.3 聊天记忆 ………………………………………………… 214

15.6 知识库与 RAG ………………………………………………… 216

15.6.1 RAG 原理 ……………………………………………… 216

15.6.2 RAG 流程 ……………………………………………… 216

15.6.3 知识库构建 ……………………………………………… 216

15.6.4 向量检索 ………………………………………………… 218

15.7 流式输出与ElasticSearch集成 ……………………………… 219

15.7.1 流式输出 ………………………………………………… 219

15.7.2 ElasticSearch集成 ……………………………………… 220

15.8 完整代码………………………………………………………… 222

15.9 AI模型本地部署 ……………………………………………… 230

15.9.1 ONNX和 ONNXRuntime …………………………… 231

15.9.2 注意事项 ………………………………………………… 231

15.10 本章小结 ……………………………………………………… 233

习题……………………………………………………………………… 233

附录 A 集成开发环境安装 …………………………………… 234

附录B JDK安装 ………………………………………………… 244

附录C Java工程师进阶指南 ……………………………… 252

附录 D 教学进度建议 ………………………………………… 255

附录E Java相关书籍 ………………………………………… 257

参考文献……………………………………………………………… 260

后记 …………………………………………………………………… 261

致谢 …………………………………………………………………… 263