目录
第1章Java语言概述/1
1.1Java语言简介1
1.1.1Java语言的发展历史1
1.1.2Java语言的特点及优势3
1.1.3Java语言的运行环境及JVM虚拟机4
1.2Java语言程序开发6
1.2.1Java语言的关键包与协议6
1.2.2Java开发工具7
1.2.3Java开发过程8
1.2.4Java开发体验10
习题111
第2章Java语言基础/12
2.1标识符与关键字12
2.1.1Java基本语法12
2.1.2标识符13
2.1.3关键字13
2.2数据类型14
2.2.1基本数据类型15
2.2.2复合数据类型15
2.2.3常量与变量16
2.2.4类型转换17
2.3表达式和运算符18
2.3.1赋值运算符18
2.3.2算术运算符18
2.3.3关系运算符19
2.3.4逻辑运算符20
2.3.5位运算符20
2.3.6其他运算符21
2.3.7运算符的优先级22〖1〗Java语言程序设计教程(微课版)目录〖3〗〖3〗2.4程序基本结构与语句23
2.4.1程序的基本结构23
2.4.2顺序结构语句24
2.4.3选择语句24
2.4.4循环语句25
2.4.5转移语句28
习题229
第3章数组、字符串和集合类/30
3.1数组30
3.1.1数组的创建与使用30
3.1.2多维数组的应用36
3.2字符串39
3.2.1字符串的介绍39
3.2.2字符串操作40
3.2.3字符分析器43
3.2.4回文字符串46
3.2.5正则匹配47
3.3集合类49
3.3.1List接口50
3.3.2Queue接口53
3.3.3Set接口54
3.3.4Map接口57
习题359
第4章Java面向对象特性/61
4.1面向对象编程61
4.1.1面向对象的基本概念61
4.1.2面向对象和面向过程的区别61
4.2类与对象62
4.2.1类和对象的基本概念62
4.2.2定义类63
4.2.3使用类创建对象64
4.2.4构造方法65
4.2.5类的方法成员66
4.3成员变量和局部变量72
4.3.1类变量和实例变量72
4.3.2this关键字74
4.3.3类成员与实例成员75
4.3.4final修饰变量77
4.4类的封装79
4.4.1理解封装性79
4.4.2访问修饰符79
4.5类的继承83
4.5.1继承的特点83
4.5.2成员变量隐藏和方法重写84
4.5.3final关键字与终止继承86
4.5.4关键字super89
4.5.5子类中重载父类的方法91
4.5.6继承与组合93
4.6多态95
4.6.1多态的基础95
4.6.2方法重载引发的编译时多态性96
4.6.3引用多态引发的运行时多态性97
4.7抽象类98
4.7.1抽象方法98
4.7.2抽象类100
习题4102
第5章接口、内部类和包/103
5.1接口103
5.1.1接口的定义103
5.1.2接口的继承104
5.1.3接口的实现105
5.1.4抽象类与接口的比较107
5.1.5接口回调108
5.2内部类109
5.2.1内部类的定义109
5.2.2非静态内部类110
5.2.3静态内部类112
5.2.4匿名内部类114
5.2.5Lambda表达式117
5.3包119
5.3.1包的概念119
5.3.2包的创建119
5.3.3包中类的引用120
5.4Java API基础122
5.4.1Java提供的包概述122
5.4.2java.lang语言包123
5.4.3java.util语言包123
习题5124
第6章异常处理/126
6.1程序错误与处理126
6.1.1程序错误分类与错误处理原则126
6.1.2面向过程与面向对象语言的错误处理方式128
6.1.3Java的错误和异常129
6.2Java的异常处理137
6.2.1异常类说明137
6.2.2异常处理语句139
6.2.3trywithresources141
习题6142
第7章图形用户界面/143
7.1Java图形用户界面143
7.1.1Java图形用户界面概述143
7.1.2AWT组件概述144
7.1.3AWT事件处理144
7.1.4AWTEvent事件类145
7.1.5事件监听器145
7.2布局管理146
7.2.1布局管理器类146
7.2.2容器的布局147
7.3Swing组件150
7.3.1Swing组件关系概述150
7.3.2窗口组件151
7.3.3文本显示和编辑组件156
7.3.4按钮组件160
7.3.5列表框和组合框组件163
7.3.6菜单组件167
7.4图形设计168
7.4.1绘图类168
7.4.2在组件上绘图171
7.5图像处理172
7.5.1图像变换172
7.5.2图像编码压缩173
7.5.3图像增强和复原175
7.5.4图像分割177
习题7180
第8章多线程程序设计/181
8.1并行程序设计181
8.1.1并行编程模型181
8.1.2并行任务调度182
8.1.3并行算法和并行数据结构183
8.2Java的线程对象183
8.2.1线程对象的实现: Thread类与Runnable接口184
8.2.2线程对象的生命周期185
8.2.3线程对象的优先级186
8.3线程的同步机制187
8.3.1线程间的竞争关系与线程互斥187
8.3.2线程间的协作关系与线程同步188
8.3.3线程间的资源共享和同步189
8.4线程池189
8.4.1线程池的工作原理189
8.4.2任务队列190
8.4.3线程工厂191
8.4.4拒绝策略192
8.4.5功能线程池193
习题8194
第9章输入输出与文件操作/195
9.1流与文件195
9.1.1流的概念195
9.1.2文件和目录的概念197
9.2字节流197
9.3字符流199
9.4文件流201
9.4.1文件字节流201
9.4.2文件字符流203
9.5数据流204
9.6对象流207
9.7缓冲流210
9.7.1BufferedInputStream类与BufferedOutputStream类210
9.7.2BufferedReader类与BufferedWriter类212
9.8管道流213
9.9文件操作215
9.9.1路径类Path和文件类File215
9.9.2文件过滤器接口218
9.9.3随机存取文件类219
习题9220
第10章Java网络通信/222
10.1网络通信基础222
10.1.1IP地址和端口号的基本概念222
10.1.2TCP和UDP简介223
10.1.3HTTP简介224
10.2HTTP通信225
10.2.1URL类和URLConnection类225
10.2.2HTTP请求方法227
10.2.3HTTP请求头和响应头的处理228
10.2.4HttpClient类229
10.2.5HTTP通信中的异常处理231
10.3Socket编程232
10.3.1Socket类和ServerSocket类232
10.3.2使用UDP进行Socket编程234
10.3.3WebSocket协议235
10.3.4Socket编程中的异常处理237
10.4远程方法调用237
10.4.1远程方法调用概述237
10.4.2创建RMI服务器和客户端238
10.5网络安全与加密239
10.5.1HTTPS通信与SSL/TLS协议239
10.5.2安全套接字编程241
10.6网络性能调优242
10.6.1连接池242
10.6.2异步编程243
10.6.3缓存技术245
10.6.4性能测试、压力测试与负载均衡247
10.6.5网络通信框架248
习题10251
第11章数据库应用/252
11.1关系数据库系统252
11.1.1数据库系统252
11.1.2关系模型253
11.1.3客户服务器结构的关系数据库系统254
11.1.4SQLite数据库255
11.1.5MySQL数据库256
11.1.6数据库事务257
11.2结构化查询语言SQL258
11.2.1SQL概述258
11.2.2数据定义258
11.2.3数据更新259
11.2.4数据查询260
11.3JDBC262
11.3.1JDBC的作用和功能262
11.3.2指定JDBC驱动程序263
11.3.3Java程序执行SQL语句263
11.3.4JDBC事务267
11.3.5连接池技术268
11.4非关系数据库270
11.4.1非关系数据库的基本概念270
11.4.2非关系数据库Redis的使用271
11.5数据库安全272
11.5.1权限管理273
11.5.2备份和恢复274
习题11276
第12章构建和部署应用程序——Spring Boot/279
12.1Maven的使用279
12.1.1Maven介绍279
12.1.2Maven生命周期281
12.2Spring Boot核心内容282
12.2.1常用注解282
12.2.2控制反转288
12.2.3面向切面290
12.2.4Spring Boot事务292
12.2.5MVC架构293
12.2.6ORM规范294
12.3Spring Boot的使用296
12.3.1项目结构296
12.3.2Spring Boot连接数据库297
12.3.3Spring Boot构造前端页面300
12.3.4解释示例301
12.3.5前后端分离302
习题12303
参考文献/304
