关于我们
书单推荐
新书推荐
|
Java编程从入门到实践(异步图书出品)
本书循序渐进地讲解了Java语言的核心语法知识,并通过大量的实例讲解了各个知识点的具体用法,本书分为26章。第0~2章是Java的基础知识部分,包括学习本书必备的知识、Java开发基础、Java开发工具;第3~10章为核心语法部分,包括Java基础语法、条件语句、循环语句和跳转语句、数组、面向对象基础、面向对象编程进阶、构造器、多态和引用类型、内部类、匿名类和枚举类;第11~16章为Java开发进阶提高部分,包括集合、泛型、Java常用类库、异常处理、I/O文件处理和流处理;第17~23章为Java典型应用部分,包括JavaFX桌面程序开发基础、JavaFX图像、布局和组件、JavaFX事件处理、数据库编程、开发互联网程序、开发多线程Java程序、开发网络爬虫程序;第24~25章为综合实战部分,通过两个大型实例的实现过程,详细讲解了使用Java语言开发大数据挖掘和分析系统(网络爬虫+JSP+MySQL+大数据分析)和微信商城系统(SpringBoot+Vue+微信小程序)的过程。
本书适合Java开发人员阅读,也适合计算机相关专业的师生阅读。 ·真正适合零基础读者入门Java的完全自学宝典 ·“技术讲解”-“范例演练”-“技术解惑”-“课后练习”贯穿全书,全面掌握Java语言开发 ·两大综合实战案例:Java语言开发大数据挖掘和分析系统、微信商城系统,帮助读者真正实现具备项目开发的能力。 《Java编程从入门到实践》具有如下特色: 一、全新版本展示Java新特性 本书以全新的Java 14为基础,详解Java语言的所有核心开发知识,而且重点讲解Java 9、Java 10、Java 11、Java 12、Java 13和Java 14的语法新特性。这是市面上其他图书所不具备的。 二、从学习者实际需求出发 涵盖了入门类、范例类和项目实战类3类图书的内容,并且对实战知识不是点到为止地讲解,而是深入地探讨,同时用配套资源来扩展实战案例,用网络答疑的方式解决读者学习中的问题。通过本书的学习,初学者可以胜任Java开发的工作。 三、6大特色,为初学者入门到精通Java保驾护航 1.以“从入门到实践”的写法构建内容,让读者轻松入门。 为了照顾初学者的学习规律,本书在将入门知识讲透的同时,用大量实例演练基础知识的应用,让读者真正做到入门到应用。 2.以“技术解惑”贯穿全书,绕过学习中的陷阱。 为帮助读者学懂基本知识点,书中配备“技术解惑”板块,让读者知其然又知其所以然。 3.大量实例和范例,让读者真正做到举一反三。 200多个实例,提供更多的实战演练机会;400多个拓展范例,真正实现举一反三。 4.手机扫码看视频,边学边练两不误。 配备32个小时的同步教学视频,手机扫描二维码,轻松流畅在线观看。讲解要点清晰、快速直观理解所学知识。 5.提供源程序、视频、PPT资源,让学习更轻松。 配套资源中不仅有全书的源代码,更有精心制作的范例讲解视频,读者可在toppr.net网站轻松下载。 6.在线实时交流辅导,形成互帮互助的朋友圈。 为方便读者答疑,本书有配套网站和学习交流群,读者可在线与作者实时互动,随时解决学习中的疑问,提高学习效率。
目 录
第0章 学习本书的必备知识 1 (视频总计32分钟) 0.1 计算机应用基础 2 0.1.1 中央处理器 2 0.1.2 比特 2 0.1.3 字节 2 0.1.4 二进制 2 0.1.5 常用的编码格式 3 0.2 Java学习路线图 4 0.3 配套资源使用说明 5 0.4 课后练习 6 第 1章 Java开发基础 7 (视频总计50分钟,技术解惑6个) 1.1 初步认识Java语言 8 1.1.1 Java语言介绍 8 1.1.2 Java语言的特点 8 1.2 搭建Java运行环境 9 1.2.1 安装JDK 9 1.2.2 配置开发环境— Windows 7 12 1.2.3 配置开发环境— Windows 10 13 1.3 编写第 一个Java程序 14 1.3.1 第 一个Java程序 14 1.3.2 关键字 15 1.3.3 标识符 15 1.3.4 注释 16 1.3.5 方法main() 17 1.3.6 控制台的输入和输出 17 1.4 编译并运行Java程序 17 1.4.1 编译Java程序 17 1.4.2 运行Java代码 18 1.4.3 Java 11新特性:新的 程序运行方式 18 1.5 技术解惑 19 1.5.1 遵循源文件命名规则 19 1.5.2 忽视系统文件的扩展名 19 1.5.3 大小写问题 19 1.5.4 到底用不用IDE工具 19 1.5.5 区分JRE和JDK 20 1.5.6 充分利用Java API文档 20 1.6 课后练习 20 第 2章 选择Java开发工具 21 (视频总计28分钟) 2.1 使用Eclipse 22 2.1.1 Eclipse介绍 22 2.1.2 获得并安装Eclipse 22 2.1.3 使用Eclipse新建一个 Java工程 25 2.1.4 编译并运行Eclipse工程 27 2.1.5 使用Eclipse打开一个 Java工程—打开本书 配套资源中的项目 27 2.2 使用IntelliJ IDEA 28 2.2.1 搭建IntelliJ IDEA开发 环境 28 2.2.2 使用IntelliJ IDEA 新建Java工程 30 2.2.3 使用IntelliJ IDEA 运行Java程序 31 2.3 使用手机开发Java程序 32 2.4 课后练习 32 第3章 Java基础语法 33 (视频总计120分钟,技术解惑3个) 3.1 常量和变量 34 3.1.1 常量 34 3.1.2 变量 35 3.2 数据类型 36 3.2.1 Java数据类型的分类 36 3.2.2 基本数据类型的 取值范围 37 3.2.3 字符型 37 3.2.4 整型 38 3.2.5 浮点型 38 3.2.6 布尔型 39 3.3 运算符 40 3.3.1 算术运算符 40 3.3.2 关系运算符和布尔逻辑 运算符 42 3.3.3 位逻辑运算符 43 3.3.4 条件运算符 44 3.3.5 赋值运算符 44 3.3.6 运算符的优先级 45 3.4 类型转换 45 3.4.1 自动类型转换 46 3.4.2 强制类型转换 46 3.5 技术解惑 47 3.5.1 在定义常量时的 注意事项 47 3.5.2 char类型中单引号的意义 47 3.5.3 正无穷和负无穷的问题 47 3.6 课后练习 47 第4章 条件语句 48 (视频总计50分钟,技术解惑3个) 4.1 使用if语句 49 4.1.1 if语句 49 4.1.2 使用if…else语句 49 4.1.3 对多种情况进行判断 50 4.2 使用switch选择语句 51 4.2.1 switch语句的形式 51 4.2.2 无break的情况 52 4.2.3 default可以不在末尾 53 4.3 switch语句和表达式 (Java 14新特性) 53 4.4 技术解惑 54 4.4.1 if…else语句的意义 54 4.4.2 switch语句和 if…else if语句的选择 54 4.4.3 if和switch的选择 55 4.5 课后练习 55 第5章 循环语句和跳转语句 56 (视频总计58分钟,技术解惑1个) 5.1 循环语句 57 5.1.1 基本for循环 57 5.1.2 for循环语句的嵌套 58 5.1.3 使用while循环语句 58 5.1.4 使用do…while循环语句 59 5.2 使用跳转语句 60 5.2.1 break语句的应用 60 5.2.2 使用return语句 62 5.2.3 使用continue跳转语句 62 5.3 技术解惑 63 5.4 课后练习 63 第6章 数组 64 (视频总计59分钟,技术解惑2个) 6.1 使用一维数组 65 6.1.1 声明一维数组 65 6.1.2 创建一维数组 65 6.1.3 初始化一维数组 66 6.2 使用二维数组 67 6.2.1 声明二维数组 67 6.2.2 创建二维数组 67 6.2.3 初始化二维数组 68 6.3 使用三维数组 69 6.3.1 声明三维数组 69 6.3.2 创建并初始化三维数组 69 6.4 操作数组 70 6.4.1 复制数组中的元素 70 6.4.2 比较数组的大小 71 6.4.3 对数组中的元素排序 72 6.4.4 搜索数组中的元素 72 6.4.5 使用foreach遍历数组 73 6.5 技术解惑 73 6.5.1 动态初始化数组的规则 73 6.5.2 数组的初始化 74 6.6 课后练习 74 第7章 面向对象基础 75 (视频总计117分钟,技术解惑2个) 7.1 面向对象的基础 76 7.1.1 面向对象的定义 76 7.1.2 Java的面向对象编程 76 7.1.3 Java面向对象的几个核心 概念 76 7.2 创建类 78 7.2.1 定义类 78 7.2.2 定义属性 79 7.2.3 定义方法 79 7.2.4 定义构造器 79 7.3 修饰符 80 7.3.1 使用public修饰符 80 7.3.2 使用private修饰符 81 7.3.3 使用protected修饰符 81 7.4 使用方法 82 7.4.1 传递方法参数 82 7.4.2 长度可变的方法 83 7.4.3 递归方法 84 7.5 使用this 85 7.6 使用类和对象 85 7.6.1 创建和使用对象 86 7.6.2 使用静态变量和 静态方法 86 7.7 使用抽象类和抽象方法 87 7.7.1 抽象类和抽象方法的 基础 87 7.7.2 抽象类必须有一个抽象 方法 88 7.8 使用包 89 7.8.1 定义软件包 89 7.8.2 在Eclipse中定义软件包 89 7.8.3 在程序中插入软件包 90 7.9 技术解惑 91 7.9.1 static修饰的作用 91 7.9.2 数组内是同一类型的 数据 91 7.10 课后练习 91 第8章 面向对象编程进阶 92 (视频总计96分钟,技术解惑3个) 8.1 继承 93 8.1.1 定义继承 93 8.1.2 调用父类的构造方法 93 8.1.3 访问父类的属性和方法 94 8.1.4 多层继承 95 8.2 重写和重载 97 8.2.1 重写 97 8.2.2 重载 98 8.3 使用接口 99 8.3.1 定义接口 99 8.3.2 接口中的常量 99 8.3.3 接口中的方法 100 8.3.4 引用接口 101 8.3.5 接口间的继承 102 8.3.6 接口的私有方法 (Java 9新增) 103 8.4 技术解惑 106 8.4.1 重写方法的注意事项 106 8.4.2 重写和重载的区别 106 8.4.3 接口和抽象类的区别与 联系 106 8.5 课后练习 106 第9章 构造器、多态和引用类型 107 (视频总计59分钟,技术解惑3个) 9.1 使用构造器 108 9.1.1 初始化构造器 108 9.1.2 构造器重载 108 9.1.3 调用父类构造器 109 9.2 使用多态 110 9.2.1 定义多态 110 9.2.2 使用多态 110 9.3 引用类型 112 9.3.1 4种引用类型 112 9.3.2 引用变量的强制类型 转换 113 9.4 组合 114 9.5 初始化块 116 9.5.1 初始化块介绍 116 9.5.2 使用静态初始化块 117 9.6 技术解惑 119 9.6.1 this在构造器中的作用 119 9.6.2 强制类型转换的局限性 119 9.6.3 继承和组合的选择 119 9.7 课后练习 119 第 10章 内部类、匿名类和枚举类 120 (视频总计75分钟,技术解惑2个) 10.1 使用内部类 121 10.1.1 内部类概述 121 10.1.2 非静态内部类 121 10.1.3 成员内部类 123 10.1.4 使用局部内部类 123 10.2 使用匿名类 124 10.2.1 定义匿名类 125 10.2.2 匿名内部类 125 10.2.3 匿名内部类使用final 形参 126 10.3 使用枚举类 127 10.3.1 模拟枚举类 127 10.3.2 枚举类的方法 128 10.3.3 枚举类型 129 10.4 嵌套访问控制(Java 11 新增) 130 10.4.1 嵌套访问控制基础 130 10.4.2 在Java 11程序中访问 嵌套成员 131 10.5 技术解惑 132 10.5.1 类的4种权限 132 10.5.2 手工实现枚举类的 缺点 132 10.6 课后练习 132 第 11章 集合 133 (视频总计124分钟,技术解惑4个) 11.1 Java中的集合类 134 11.2 使用Collection接口和Iterator 接口 135 11.2.1 Collection接口概述 135 11.2.2 Iterator接口概述 136 11.2.3 使用Collection接口中的 方法操作集合里的 元素 136 11.3 使用Set接口 137 11.3.1 Set接口概述 137 11.3.2 使用HashSet 137 11.3.3 使用TreeSet类 139 11.4 使用List接口 140 11.4.1 List接口基础 140 11.4.2 根据索引操作集合内的 元素 141 11.5 使用Map接口 141 11.5.1 Map接口中的方法 142 11.5.2 使用HashMap和 Hashtable实现类 142 11.5.3 使用SortedMap接口和 TreeMap实现类 143 11.6 使用Queue接口 145 11.6.1 Queue接口中的成员 145 11.6.2 LinkedList类 145 11.7 使用集合工具Collections类 147 11.7.1 排序操作 147 11.7.2 查找和替换操作 148 11.8 创建不可变的List、Set和 Map(Java 9新增) 149 11.8.1 Java 9以前版本的 解决方案 149 11.8.2 Java 9版本的解决 方案 150 11.9 使用var类型推断(Java 10 新增) 151 11.9.1 var类型推断基础 151 11.9.2 使用var声明局部变量 152 11.10 使用新的默认方法(Java 11 新增) 152 11.11 技术解惑 153 11.11.1 使用EnumSet类的 注意事项 153 11.11.2 ArrayList和Vector的 区别 153 11.11.3 分析Map类的性能 153 11.11.4 LinkedList、ArrayList、 Vector的性能问题 154 11.12 课后练习 154 第 12章 使用泛型 155 (视频总计61分钟,技术解惑3个) 12.1 泛型基础 156 12.1.1 泛型的优点 156 12.1.2 类型检查 156 12.1.3 使用泛型 158 12.1.4 在类中使用泛型 158 12.2 类型通配符 159 12.2.1 使用泛型通配符 159 12.2.2 泛型限定 160 12.3 泛型方法 161 12.3.1 泛型方法介绍 162 12.3.2 使用泛型方法 162 12.4 使用泛型接口 163 12.5 泛型继承 164 12.5.1 以泛型类为父类 164 12.5.2 将非泛型类作为父类 166 12.6 强制类型转换 166 12.7 技术解惑 167 12.7.1 Java语言中泛型的 本质 167 12.7.2 泛型类的继承规则 167 12.7.3 使用泛型的原则和 注意事项 168 12.8 课后练习 168 第 13章 Java常用类库(上) 169 (视频总计73分钟,技术解惑2个) 13.1 字符串 170 13.1.1 字符串的初始化 170 13.1.2 String类 170 13.1.3 Java 11新特性: 新增的String方法 173 13.2 使用StringBuffer类 175 13.2.1 StringBuffer类基础 175 13.2.2 使用字符追加方法 176 13.3 使用Runtime类 177 13.3.1 Runtime类的常用 方法 177 13.3.2 使用Runtime类 177 13.4 程序国际化 178 13.4.1 国际化基础 178 13.4.2 Locale类 179 13.4.3 ResourceBundle类 179 13.4.4 处理动态文本 180 13.5 使用System类 181 13.5.1 使用System类 181 13.5.2 垃圾对象的回收 182 13.6 技术解惑 183 13.6.1 StringBuffer和String的 异同 183 13.6.2 通过System类获取 本机的全部环境属性 183 13.7 课后练习 183 第 14章 Java常用类库(下) 184 (视频总计85分钟,技术解惑3个) 14.1 使用日期处理类 185 14.1.1 使用Date类 185 14.1.2 使用Calendar类获取 当前的时间 185 14.1.3 使用DateFormat类 格式化处理时间 186 14.2 使用Math类 187 14.3 使用Random类生成随机数 188 14.4 使用NumberFormat类格式化 处理数字 189 14.5 复制对象 190 14.6 使用Comparable接口操作 数组 191 14.6.1 Comparable接口 介绍 191 14.6.2 使用Comparator 接口 193 14.7 Observable类和Observer 接口(Java 9被放弃) 194 14.8 使用正则表达式 196 14.8.1 正则表达式基础 196 14.8.2 Java中的正则 表达式类 197 14.8.3 验证一个字符串是否为 合法的日期格式 197 14.8.4 String类和正则 表达式 198 14.8.5 Java 9新增的正则 表达式方法 198 14.8.6 正则表达式参数的 局部变量语法 (Java 11新增) 200 14.9 Timer类和TimerTask类 200 14.9.1 Timer类基础 200 14.9.2 TimerTask类基础 201 14.9.3 使用TimerTask子类建立 测试类并实现任务 调度 201 14.10 技术解惑 202 14.10.1 分析对象的生命 周期 202 14.10.2 若未实现Comparable 接口会出现异常 202 14.10.3 使用正则表达式的 好处 202 14.11 课后练习 203 第 15章 异常处理 204 (视频总计52分钟,技术解惑3个) 15.1 异常概述 205 15.1.1 认识异常 205 15.1.2 异常处理类 205 15.2 Java的异常处理方式 206 15.2.1 使用try…catch语句 206 15.2.2 处理多个异常 207 15.2.3 finally语句 208 15.2.4 访问异常信息 209 15.3 抛出异常 210 15.3.1 使用throws抛出异常 210 15.3.2 使用关键字throw 抛出异常 212 15.4 自定义异常 212 15.4.1 Throwable类及其 子类 213 15.4.2 使用Throwable类 自定义异常 214 15.5 技术解惑 215 15.5.1 使用嵌套异常处理是 更合理的方法 215 15.5.2 区别throws关键字和 throw关键字 216 15.5.3 子类Error和 Exception 216 15.6 课后练习 216 第 16章 I/O文件处理和流处理 217 (视频总计137分钟,技术解惑3个) 16.1 使用File类 218 16.1.1 File类中的方法 218 16.1.2 创建文件 218 16.1.3 删除文件 219 16.1.4 创建文件夹 219 16.2 RandomAccessFile类 220 16.2.1 RandomAccessFile类的 常用方法 220 16.2.2 使用RandomAccessFile 类 220 16.3 字节流与字符流 221 16.3.1 字节流类和字符流类 221 16.3.2 使用字节输出流 OutputStream 222 16.3.3 使用字节输入流 InputStream 223 16.3.4 字符输出流Writer 224 16.3.5 使用FileWriter追加 文件内容 225 16.3.6 使用字符输入流 Reader 225 16.4 字节转换流 226 16.5 内存操作流 227 16.6 使用管道流 228 16.7 使用打印流 230 16.7.1 打印流基础 230 16.7.2 使用打印流 231 16.8 使用Scanner类 231 16.8.1 Scanner类概述 231 16.8.2 使用Scanner类 232 16.9 实现数据操作流 233 16.9.1 DataOutputStream类 233 16.9.2 DataInputStream类 234 16.10 使用合并流 235 16.11 使用Stream API (Java 9新特性) 236 16.11.1 Java 8中的流 236 16.11.2 Java 9中的流 238 16.12 使用try…with…resources 语句(Java 9改进) 240 16.12.1 try…with…resources 语句概述 241 16.12.2 try…with…resources的 改进(Java 9新增) 241 16.13 Java I/O模块的新特性 (Java 11新增) 244 16.13.1 处理空的文件对象 (Java 11新增) 244 16.13.2 改进的方法readNBytes() (Java 11改进) 245 16.13.3 新的构造方法(Java 11 新增) 246 16.14 技术解惑 246 16.14.1 使用File.separator 表示分隔符 246 16.14.2 字节流和字符流的 区别 246 16.14.3 对象序列化和对象反 序列化操作时的版本 兼容性问题 247 16.15 课后练习 247 第 17章 JavaFX桌面程序开发基础 248 (视频总计92分钟) 17.1 JavaFX概述 249 17.1.1 JavaFX的特色 249 17.1.2 安装e(fx)clipse插件 249 17.1.3 认识第 一个JavaFX 程序 251 17.2 JavaFX界面结构 252 17.2.1 窗体结构剖析 252 17.2.2 属性绑定 253 17.2.3 样式属性和角度属性 254 17.3 使用Color类设置颜色 256 17.3.1 设置颜色的方法 256 17.3.2 使用RGB方式设置 颜色 257 17.3.3 使用Web方式设置 颜色 258 17.4 绘制文字 259 17.4.1 Text包概述 259 17.4.2 绘制指定样式的文本 260 17.5 绘制不同的形状 260 17.5.1 使用Line绘制线条 260 17.5.2 使用Rectangle绘制 矩形 262 17.5.3 使用Circle类绘制圆 263 17.6 课后练习 264 第 18章 JavaFX图像、布局和组件 265 (视频总计86分钟) 18.1 显示图像 266 18.1.1 使用Image类显示 图像 266 18.1.2 使用ImageView显示 图像 267 18.2 界面布局 268 18.2.1 使用Pane的画布 功能 269 18.2.2 使用StackPane实现 特定面板功能 270 18.2.3 使用FlowPane实现 序列放置 270 18.2.4 使用GridPane实现 网格布局 271 18.2.5 使用BorderPane实现 区域布局 272 18.2.6 使用HBox和VBox 273 18.3 使用JavaFX UI组件 274 18.3.1 使用标签组件 275 18.3.2 使用按钮组件 277 18.3.3 使用复选框和单选框 组件 278 18.4 课后练习 279 第 19章 JavaFX事件处理 280 (视频总计62分钟) 19.1 JavaFX事件处理基础 281 19.1.1 Java的事件处理模型 281 19.1.2 JavaFX中的事件 281 19.1.3 事件和事件源 282 19.1.4 一个处理按钮事件的 例子 284 19.2 处理鼠标事件 284 19.2.1 鼠标事件概述 285 19.2.2 使用鼠标事件 285 19.3 处理键盘事件 286 19.3.1 键盘事件概述 286 19.3.2 使用键盘事件 287 19.4 使用事件处理程序 288 19.4.1 注册和移除事件处理 程序 288 19.4.2 使用事件处理程序 289 19.5 使用可触摸设备的事件 290 19.5.1 手势和触摸事件 290 19.5.2 手势事件实战 291 19.6 课后练习 295 第 20章 数据库编程 296 (视频总计58分钟,技术解惑3个) 20.1 使用JDBC API 297 20.1.1 JDBC API介绍 297 20.1.2 JDBC的常用接口 和类 297 20.2 连接Access数据库 299 20.2.1 Access数据库概述 299 20.2.2 连接本地Access 数据库 299 20.3 连接SQL Server数据库 301 20.3.1 下载并安装SQL Sever 2016 驱动 301 20.3.2 测试连接 302 20.3.3 获取SQL Server 数据库中指定的表 304 20.4 连接MySQL数据库 305 20.4.1 下载并配置MySQL 驱动 305 20.4.2 将MySQL驱动 加载到Eclipse中 306 20.4.3 测试连接 306 20.5 技术解惑 307 20.5.1 连接池的功效 307 20.5.2 数据模型、概念模型和 关系数据模型 307 20.5.3 数据库系统的结构 308 20.6 课后练习 308 第 21章 开发互联网程序 309 (视频总计108分钟,技术解惑5个) 21.1 Java语言中的内置网络包 310 21.1.1 InetAddress类介绍 310 21.1.2 URLDecoder类和 URLEncoder类介绍 310 21.1.3 URL类和URLConnection 类介绍 311 21.1.4 使用InetAddress访问 指定的网址 312 21.2 开发TCP程序 312 21.2.1 使用ServerSocket 312 21.2.2 使用Socket 313 21.2.3 开发多线程TCP程序 313 21.3 开发UDP程序 316 21.3.1 使用DatagramSocket 316 21.3.2 使用MulticastSocket 317 21.4 开发代理服务器程序 319 21.4.1 代理服务器概述 319 21.4.2 使用Proxy创建连接 320 21.4.3 使用ProxySelector 选择代理服务器 321 21.5 HTTP/2 Client API(Java 11 新增) 322 21.5.1 孵化器模块usergrid 概述 323 21.5.2 HTTP/2 Client API 概述 323 21.5.3 处理HTTP请求 324 21.6 技术解惑 325 21.6.1 使用异常处理完善 程序 325 21.6.2 体会烦琐的 DatagramPacket 325 21.6.3 MulticastSocket类的 重要意义 326 21.6.4 继承ProxySelector时 需要做的工作 326 21.6.5 生成jdk.incubator.httpclient 模块的Javadoc 326 21.7 课后练习 326 第 22章 开发多线程Java程序 327 (视频总计135分钟,技术解惑6个) 22.1 线程基础 328 22.1.1 线程与进程 328 22.1.2 Java语言的线程模型 328 22.2 创建线程 328 22.2.1 使用Thread类创建 线程 328 22.2.2 使用Runnable接口 创建线程 331 22.2.3 使用Thread.onSpinWait() 方法实现循环等待 (Java 9新增) 332 22.3 线程的生命周期 333 22.3.1 线程的运行与停止 333 22.3.2 线程的挂起和唤醒 333 22.3.3 使用退出标志终止 线程 334 22.3.4 使用interrupt()方法 终止线程 335 22.3.5 线程的阻塞 336 22.3.6 线程的死亡 336 22.4 控制线程 337 22.4.1 使用join方法 337 22.4.2 慎重使用volatile 关键字 338 22.4.3 后台、让步和睡眠 340 22.5 进程处理 342 22.5.1 使用ProcessBuilder 类 342 22.5.2 使用Process类 343 22.5.3 使用ProcessHandle类 (Java 9新增) 343 22.6 技术解惑 346 22.6.1 线程和函数的关系 346 22.6.2 在run方法中使用 线程名时产生的问题 346 22.6.3 start()和run()的区别 346 22.6.4 线程的优先级 346 22.6.5 如何确定发生死锁 347 22.6.6 关键字synchronized和 volatile的区别 347 22.7 课后练习 347 第 23章 开发网络爬虫程序 348 (视频总计50分钟,技术解惑2个) 23.1 网络爬虫的原理 349 23.1.1 基本结构及工作流程 349 23.1.2 抓取策略算法 350 23.2 使用URLConnection开发爬虫 程序 351 23.3 使用jsoup框架 352 23.3.1 jsoup框架介绍 352 23.3.2 使用jsoup获取指定 页面中的指定元素 353 23.3.3 使用jsoup获取指定 格式的URL网址 354 23.4 使用WebCollector框架 354 23.4.1 WebCollector框架 介绍 355 23.4.2 抓取新闻信息 356 23.4.3 抓取图片信息 356 23.5 技术解惑 358 23.5.1 广度优先爬虫算法 358 23.5.2 Java爬虫初识之模拟 登录 360 23.6 课后练习 361 第 24章 大数据挖掘和分析系统 (网络爬虫+ JSP+MySQL+ 大数据分析) 362 (视频总计50分钟) 24.1 系统介绍 363 24.2 需求分析 363 24.3 系统模块和实现流程 363 24.4 爬虫抓取模块 364 24.4.1 网页概览 364 24.4.2 破解JS API反爬 机制 366 24.4.3 爬虫抓取Java图书 信息 369 24.4.4 爬虫抓取Python图书 信息 371 24.4.5 爬虫抓取主分类图书 信息类 373 24.4.6 爬虫抓取子分类图书 信息类 377 24.5 大数据可视化分析 379 24.5.1 搭建Java Web 平台 379 24.5.2 大数据分析并可视化 计算机图书数据 382 24.5.3 大数据分析并可视化 近期Java书和Python 书的数据 383 24.5.4 大数据分析并可视化 主分类图书数据 385 24.5.5 大数据分析并可视化 计算机子类图书数据 386 第 25章 微信商城系统(SpringBoot+ Vue+微信小程序) 389 (视频总计53分钟) 25.1 微商系统介绍 390 25.2 系统需求分析 390 25.3 系统架构 391 25.3.1 第三方开源库 391 25.3.2 系统架构介绍 391 25.3.3 开发技术栈 392 25.4 实现管理后台模块 392 25.4.1 用户登录验证 392 25.4.2 用户管理 393 25.4.3 订单管理 394 25.4.4 商品管理 397 25.5 实现小商城系统 403 25.5.1 系统主页 403 25.5.2 购物车 404 25.6 本地测试 407 25.6.1 创建数据库 407 25.6.2 运行后台管理系统 407 25.6.3 运行微信小商城 子系统 409 25.7 线上发布和部署 411 25.7.1 微信登录配置 411 25.7.2 微信支付配置 411 25.7.3 配置邮件通知 411 25.7.4 短信通知配置 412 25.7.5 系统部署 412 25.7.6 技术支持 412
你还可能感兴趣
我要评论
|