Java高级程序设计(第2版)(微课版)
- ISBN:9787302625667
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:424
- 出版时间:2023-03-01
- 条形码:9787302625667 ; 978-7-302-62566-7
本书特色
1. 内容体系完整,由浅及深 本书体系完整,注重应用、强调实践。每章内容都是从基础开始,由浅入深、循序渐进地展开,使读者可以渐进地学习全部知识。 2. 编著人员项目经验丰富,实例源于真实项目 本书作者都是真实软件项目的负责人或主要成员,有丰富的Java程序开发经验,全书所有实例全部来源于项目组开发且正在使用的真实项目,细节切合真实的软件开发环境。 3. 各章实例丰富 每章都提供了精心设计的案例,能恰当地展示相关知识点的实现细节。读者学完理论知识后,可以通过上机实践更加深入地了解和掌握这些知识点。 4. 使用*新版本的开发平台 本书的开发工具和框架都是*新版本,力图反映Java相关技术的新发展。读者在学习开发技术的同时接触*新版本的开发平台,为深入实践奠定良好的基础。 5. 配有充足的电子文档 本书提供示例程序的所有源代码、习题参考答案、教学课件,读者可登录清华大学出版社网站下载。本书的微课视频,读者可扫描封底刮刮卡注册后再扫描书中的二维码观看学习。
内容简介
本书以Java的数个高级主题作为核心内容,包括Web编程、数据库编程、类型信息与反射、泛型、注解、序列化、网络编程、多线程等内容。论述了程序设计的原则和规范,*后1章介绍了前面高级技术的综合应用,并提供了采用Servlet/JSP技术的MVC开发框架。 本书以提升技术的应用能力为重要目标,提供了电子课件(PPT)、示例源代码、MVC框架源代码、部分课后习题的参考答案。 本书适合作为高等院校软件工程、计算机相关专业的编程能力提升课程的教材,即在Java语言编程基础课程之后,Java应用框架(如Spring框架)课程之前的衔接教材;Java EE课程的教材;亦可作为有编程经验的软件开发人员的参考书。
目录
第1章关于代码/1
1.1编码的艺术/1
1.2概念与命名/2
1.2.1名副其实的功能描述/4
1.2.2有意义的区分/5
1.2.3遵循惯例/6
1.2.4添加有意义的语境/7
1.2.5符合自然语言语法的命名/8
1.2.6缩略词/8
1.3函数/9
1.3.1单一功能/9
1.3.2抽象层次/12
1.3.3函数长度/13
1.3.4输入参数/14
1.3.5分离修改状态和查询状态的函数/16
1.3.6避免重复/16
1.4类/18
1.4.1封装/18
1.4.2抽象、继承、多态/20
1.5思考与练习/23
第2章Web编程/24
2.1Web服务器/24
2.1.1HTTP简介/25
2.1.2协议簇中的HTTP/25
2.1.3HTTP传输模式/26
2.1.4HTTP请求消息/26
2.1.5HTTP响应消息/28
2.1.6HTTPS协议/29
2.2Servlet/31
2.2.1Servlet与Servlet容器/31
2.2.2Servlet实例/33
2.2.3Tomcat服务器/35
2.2.4接收表单数据/37
2.2.5HttpServletRequest简介/41
2.2.6HttpServletResponse简介/44
2.3JSP/46
2.3.1JSP简介/46
2.3.2JSP实例/48
2.3.3JSP指令/51
2.3.4JSP内置对象/52
2.3.5网页重定向/53
2.3.6请求转发/54
2.3.7Servlet和JSP协作/54
2.4监听器和过滤器/57
2.4.1监听器/57
2.4.2监听器实例/58
2.4.3过滤器/59
2.4.4过滤器实例/60
2.5保存会话状态/61
2.5.1cookie/62
2.5.2cookie实例/63
2.5.3session/65
2.5.4身份认证/65
2.6Ajax/69
2.6.1Ajax简介/69
2.6.2Ajax实例/69
2.7思考与练习/74
第3章数据库编程/75
3.1概述/75
3.2数据库基础/75
3.2.1关系数据库/76
3.2.2结构化查询语言/77
3.2.3MySQL数据库/78
3.3JDBC/79
3.3.1数据库驱动/79
3.3.2JDBC核心组件/80
3.3.3建立连接/81
3.3.4执行数据查询语言/82
3.3.5处理null值/85
3.3.6执行数据操作语句/85
3.3.7执行数据定义语句/86
3.3.8预编译Statement/86
3.3.9批量更新/90
3.4JDBC进阶/91
3.4.1事务/91
3.4.2存储过程/95
3.4.3数据库连接池/96
3.4.4元数据/102
3.4.5日期与时间/104
3.4.6分页查询/108
3.4.7获取物理主键/109
3.5思考与练习/110
第4章类型信息与反射/111
4.1概述/111
4.1.1存储类型信息/111
4.1.2加载类型信息/117
4.2读取类型信息/126
4.2.1类型信息的表示方法/126
4.2.2Class类/126
4.2.3获取Constructor对象/129
4.2.4获取Method对象/132
4.2.5获取Field对象/137
4.2.6运行时类型识别/140
4.3动态执行/144
4.3.1深入反射/145
4.3.2显式加载指定类/145
4.3.3通过反射实例化类/146
4.3.4通过反射执行方法/147
4.3.5通过反射修改属性/148
4.3.6动态编译/149
4.3.7反射异常/151
4.4动态代理/152
4.4.1代理模式/152
4.4.2Java动态代理/153
4.4.3动态代理的特点/155
4.4.4扩展阅读之AOP/156
4.5依赖注入实例/157
4.6思考与练习/163
第5章泛型/166
5.1概述/166
5.1.1使用继承实现代码重用/166
5.1.2泛型代码/167
5.1.3算法与数据类型解耦/168
5.2泛型类型/169
5.2.1泛型类/169
5.2.2泛型方法/172
5.2.3泛型接口/173
5.2.4泛型与继承/174
5.3通配符/175
5.3.1通配符的使用/175
5.3.2通配符的捕获/175
5.4泛型边界/176
5.4.1含边界的泛型类/176
5.4.2含边界的泛型方法/178
5.4.3多边界/179
5.4.4通配符与边界/180
5.5泛型擦除/181
5.5.1为何要擦除/182
5.5.2如何擦除/182
5.5.3多边界擦除/183
5.5.4擦除限制/185
5.5.5擦除冲突/187
5.5.6类型安全和转换/189
5.5.7泛型数组/190
5.5.8再说通配符与边界/190
5.5.9擦除总结/191
5.6泛型与反射/191
5.6.1泛型化的Class类/191
5.6.2读取泛型参数/192
5.6.3泛型参数类型的应用/194
5.7思考与练习/196
第6章注解/197
6.1概述/197
6.1.1什么是注解/197
6.1.2注解的作用/198
6.1.3Java常用注解/199
6.1.4注解的使用方法/199
6.2自定义注解/201
6.2.1元注解/201
6.2.2自定义注解/202
6.2.3注解参数说明/203
6.3注解处理/204
6.3.1Runtime级注解处理/204
6.3.2Source级注解处理/205
6.4接口生成实例/205
6.5对象关系映射(ORM)实例/212
6.5.1定义注解/212
6.5.2相关工具类/213
6.5.3注解处理器/218
6.6思考与练习/219
第7章序列化/221
7.1概述/221
7.2对象序列化/222
7.2.1序列化实例/222
7.2.2需要序列化的类成员/225
7.2.3继承关系序列化/227
7.2.4引用关系序列化/228
7.2.5保护敏感数据/229
7.2.6序列化标识ID/230
7.2.7自定义序列化/230
7.2.8Externalizable接口/232
7.3XML/234
7.3.1DOM/234
7.3.2SAX/237
7.3.3JDOM/240
7.3.4DOM4J/243
7.4JSON/247
7.4.1JSON语法/247
7.4.2JSON类库/249
7.4.3FastJson序列化/250
7.4.4FastJson反序列化/257
7.5思考与练习/259
第8章网络编程/262
8.1概述/262
8.1.1网络协议/262
8.1.2OSI模型/263
8.1.3TCP/IP模型/263
8.1.4IP地址与端口/264
8.1.5流/267
8.2TCP编程/271
8.2.1核心类/271
8.2.2一对一通信/272
8.2.3一对多通信/274
8.3UDP编程/276
8.3.1核心类/276
8.3.2UDP传输实例/278
8.4非阻塞通信/281
8.4.1同步通信/281
8.4.2异步通信/290
8.5编程框架/296
8.5.1Netty/296
8.5.2Mina/300
8.6HTTP编程/300
8.6.1URLConnection/301
8.6.2HttpClient/303
8.6.3简单的Web服务器/305
8.7思考与练习/307
第9章多线程/309
9.1线程基础/309
9.1.1创建/313
9.1.2休眠/315
9.1.3中断/317
9.1.4未捕获异常/322
9.1.5优先级/325
9.1.6线程工具类/327
9.1.7执行器/329
9.1.8返回值/330
9.2线程共享资源/333
9.2.1竞争条件/337
9.2.2Lock对象/338
9.2.3锁测试与超时/342
9.2.4synchronized关键字/343
9.2.5原子性/345
9.2.6线程局部变量/346
9.3线程协作/349
9.3.1wait与notifyall/349
9.3.2Condition对象/353
9.3.3死锁/355
9.3.4线程的状态/361
9.4同步器/361
9.4.1信号量/361
9.4.2倒计时门栓/364
9.4.3障栅/367
9.4.4交换器/369
9.5思考与练习/371
第10章综合应用案例/373
10.1引言/373
10.2MVC架构/373
10.3Web实例/378
10.3.1身份验证/378
10.3.2学生学籍信息主页/380
10.3.3新增学生学籍信息/382
10.3.4编辑学生学籍信息/385
10.3.5删除学生学籍信息/386
10.3.6查看学生学籍信息/387
10.4数据库实例/388
10.5反射实例/391
10.6注解实例/395
10.7网络编程实例/401
10.8思考与练习/404
参考文献/405
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
基于3D打印技术的产品创新设计方法
¥45.8¥88.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0