描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302585985
《Java轻量级Web开发深度探索》从零基础开始介绍如何使用流行的Java编程语言进行Web开发。本书第1~7章是基础篇,第8章是应用篇。其中第1章介绍了开发Web应用需要的软件环境,特别是IDEA集成开发环境。第2章着重介绍控制结构等结构化程序设计入门知识。第3章着重介绍类和对象等面向对象编程基础。第4章着重介绍处理文本的有限状态机方法和正则表达式。第5章着重介绍套接字网络编程。第6章着重介绍多线程等并发程序设计。第7章着重介绍控制台应用程序开发基础以及如何开发Web应用程序。第8章着重介绍如何使用SpringBoot框架和React框架实现前后端分离的Web应用。
《Java轻量级Web开发深度探索》介绍如何学习和使用流行的Java编程语言进行Web开发。主要内容包括Java开发Web应用基础,结构化程序设计与面向对象编程,文本处理与网络编程,并发程序设计,应用程序开发,使用SpringBoot创建Web服务。 《Java轻量级Web开发深度探索》第1章着重介绍如何使用Java编程语言快速上手Web开发。第2章着重介绍结构化程序设计。第3章着重介绍面向对象编程。第4章着重介绍处理文本的有限状态机方法。第5章着重介绍套接字网络编程。第6章着重介绍并发程序设计。第7章着重介绍控制台应用程序开发基础以及如何开发Web应用程序。第8章着重介绍如何使用SpringBoot创建Web服务,使用JavaScript框架实现Web前端展示。 《Java轻量级Web开发深度探索》适合对软件开发感兴趣的青少年或者大学生阅读和学习,同时也适合对互联网行业感兴趣的人士参考使用。
第1章 Java开发Web应用基础 1
1.1 Java编程语言概述 1
1.2 Java基础 3
1.2.1 准备开发环境 3
1.2.2 Eclipse集成开发环境 5
1.2.3 IDEA集成开发环境 9
1.3 本章小结 10
第2章 结构化程序设计 11
2.1 基本数据类型 11
2.2 变量 12
2.2.1 表达式执行顺序 14
2.2.2 简化的运算符 14
2.2.3 常量 16
2.3 控制结构 16
2.3.1 语句 17
2.3.2 判断条件 17
2.3.3 三元运算符 18
2.3.4 条件判断 19
2.3.5 循环 23
2.4 方法 29
2.4.1 main方法 33
2.4.2 递归调用 33
2.4.3 方法调用栈 34
2.5 数组 34
2.5.1 数组求和 37
2.5.2 计算平均值举例 37
2.5.3 快速复制 38
2.5.4 循环不变式 40
2.6 字符串 41
2.6.1 字符编码 43
2.6.2 格式化 44
2.6.3 增强switch语句 45
2.7 数值类型 45
2.7.1 类型转换 49
2.7.2 整数运算 50
2.7.3 数值运算 51
2.7.4 位运算 52
2.8 提高代码质量 60
2.8.1 代码整洁 60
2.8.2 单元测试 61
2.8.3 调试 61
2.8.4 重构 62
2.9 本章小结 62
第3章 面向对象编程 64
3.1 类和对象 64
3.1.1 类 65
3.1.2 类方法 65
3.1.3 类变量 65
3.1.4 实例变量 66
3.1.5 构造方法 68
3.1.6 对象 71
3.1.7 实例方法 74
3.1.8 调用方法 75
3.1.9 内部类 76
3.1.10 克隆 76
3.1.11 结束 77
3.2 继承 78
3.2.1 重写 78
3.2.2 继承构造方法 80
3.2.3 接口 81
3.2.4 匿名类 84
3.2.5 类的兼容性 84
3.3 封装 84
3.4 静态 85
3.4.1 静态变量 85
3.4.2 静态类 86
3.4.3 修饰类的关键词 86
3.5 枚举类型 87
3.6 集合类 90
3.6.1 动态数组 90
3.6.2 散列表 91
3.6.3 泛型 94
3.6.4 Google Guava集合 97
3.6.5 类型擦除 98
3.6.6 遍历 99
3.6.7 排序 102
3.6.8 Lambda表达式 104
3.7 比较 104
3.7.1 Comparable接口 104
3.7.2 比较器 106
3.8 SOLID原则 107
3.9 异常 108
3.9.1 断言 108
3.9.2 Java中的异常 109
3.9.3 从方法中抛出异常 111
3.9.4 处理异常 113
3.9.5 正确使用异常 114
3.10 字符串对象 117
3.10.1 字符对象 119
3.10.2 查找字符串 120
3.10.3 修改字符串 120
3.10.4 格式化 121
3.10.5 常量池 121
3.10.6 关于对象不可改变 124
3.11 日期 125
3.12 大数对象 126
3.13 给方法传参数 126
3.13.1 基本类型和对象 128
3.13.2 重载 129
3.14 文件操作 130
3.14.1 文本文件 131
3.14.2 二进制文件 134
3.14.3 文件位置 137
3.14.4 读写Unicode编码的文件 137
3.14.5 文件描述符 139
3.14.6 对象序列化 140
3.14.7 使用IOUtils工具类 144
3.15 Java类库 145
3.15.1 使用Java类库 146
3.15.2 构建jar包 147
3.15.3 使用Ant 150
3.15.4 生成javadoc 151
3.15.5 ClassLoader 152
3.15.6 反射 156
3.16 编程风格 157
3.16.1 命名规范 157
3.16.2 流畅接口 158
3.16.3 日志 158
3.17 本章小结 164
第4章 处理文本 165
4.1 字符串操作 165
4.2 词法分析 167
4.3 有限状态机 169
4.3.1 从NFA到DFA 171
4.3.2 确定有限状态机DFA 175
4.4 正则表达式 178
4.5 解析器生成器JavaCC 182
4.6 本章小结 184
第5章 网络编程 185
5.1 套接字 185
5.1.1 客户端 186
5.1.2 服务器端 187
5.1.3 TCP 189
5.1.4 多播 190
5.2 Web服务器 190
5.2.1 HTTP协议 190
5.2.2 Web服务器 194
5.3 异步IO 195
5.4 下载网页 195
5.4.1 使用curl 195
5.4.2 使用URL类 196
5.4.3 使用HTTPClient 196
5.5 本章小结 197
第6章 并发程序设计 198
6.1 线程 198
6.1.1 内存与线程安全 201
6.1.2 线程组 202
6.1.3 状态 202
6.1.4 守护线程 204
6.1.5 并行编程 205
6.2 线程池 208
6.3 fork-join框架 209
6.4 线程局域变量 212
6.5 阻塞队列 213
6.5.1 阻塞队列 213
6.5.2 半阻塞队列 215
6.6 并发 217
6.6.1 虚拟机如何实现同步 223
6.6.2 单件模式 224
6.7 内存管理 225
6.7.1 虚拟机的内存 225
6.7.2 内存模型 228
6.7.3 垃圾回收的工作原理 230
6.7.4 监控垃圾回收 231
6.7.5 程序中的内存管理 232
6.7.6 弱引用 233
6.8 本章小结 238
第7章 开发应用程序 239
7.1 控制台应用程序 239
7.1.1 接收参数 239
7.1.2 读取输入 240
7.1.3 输出 241
7.1.4 配置信息 241
7.1.5 部署 243
7.1.6 系统属性 243
7.2 开发Web程序 244
7.2.1 Web程序是从哪里来的 244
7.2.2 Servlet和JSP 245
7.2.3 翻页 246
7.2.4 Spring容器 246
7.3 Jdbi操作数据库 248
7.4 XML序列化 250
7.4.1 JAXB框架 250
7.4.2 XStream工具库 252
7.5 调用本地方法 253
7.6 国际化 256
7.7 性能 259
7.8 版本管理 259
7.9 本章小结 260
第8章 SpringBoot开发 261
8.1 测试 Restful API的curl指令 261
8.2 开发Restful API 262
8.3 实现分页 266
8.4 SpringBoot权限管理 272
8.4.1 Security实现权限控制 273
8.4.2 Shiro实现权限控制 274
8.5 使用WebSocket实现实时通信 284
8.6 本章小结 288
参考文献 289
持续演化中的Java编程语言由于其严谨的语法和跨平台特性,一直是Web开发后台编程语言的之一。Java语法与Web开发需求之间相互促进,形成更紧密的联系和高效的发展。例如,JDK 1.5引入的注解(Annotation)方便了MVC(Model View Controller)设计模式中的控制器开发。
Java Web开发技术经过20多年的发展,由2000年左右开始流行的Servlet、JSP演化到早期的J2EE以及支持MVC设计模式的Struts框架、Spring框架和支持微服务的Spring Boot框架。
本书从零基础开始介绍如何使用流行的Java编程语言进行Web开发。本书第1~7章是基础篇,第8章是应用篇。其中第1章介绍了开发Web应用需要的软件环境,特别是IDEA集成开发环境。第2章着重介绍控制结构等结构化程序设计入门知识。第3章着重介绍类和对象等面向对象编程基础。第4章着重介绍处理文本的有限状态机方法和正则表达式。第5章着重介绍套接字网络编程。第6章着重介绍多线程等并发程序设计。第7章着重介绍控制台应用程序开发基础以及如何开发Web应用程序。第8章着重介绍如何使用SpringBoot框架和React框架实现前后端分离的Web应用。
本书相关的参考软件和代码在技术QQ群587682878的共享文件中可以找到。本书中介绍到的一些专门的技术可以在和本书相关的QQ群中交流讨论。这些技术群包括:Solr技术群301075975、ElasticSearch技术群460405445、Java文本处理基础群453406621。
本书由罗刚编著。感谢早期合著者、合作伙伴、员工、学员、读者、相关合作公司的支持。
本书适合零基础而有志于从事Web方向的Java开发工程师或者架构师阅读,也适合需要具体实现Web应用的程序员使用,对于互联网等相关领域的研究人员也有一定的参考价值。读者可以通过阅读本书,自己动手创建一个简单的微服务架构。本书对于开发微信小程序后端也有参考价值。同时猎兔搜索技术团队已经开发出与本书相关的培训课程和商业软件。
编 者
评论
还没有评论。