内容推荐 本书以Java的数个高级主题作为核心内容,包括Web编程、数据库编程、类型信息与反射、泛型、注解、序列化、网络编程、多线程等内容。论述了程序设计的原则和规范,最后1章介绍了前面高级技术的综合应用,并提供了采用Servlet/JSP技术的MVC开发框架。 本书以提升技术的应用能力为重要目标,提供了电子课件(PPT)、示例源代码、MVC框架源代码、部分课后习题的参考答案。 本书适合作为高等院校软件工程、计算机相关专业的编程能力提升课程的教材,即在Java语言编程基础课程之后,Java应用框架(如Spring框架)课程之前的衔接教材;Java EE课程的教材;亦可作为有编程经验的软件开发人员的参考书。 目录 第1章 关于代码 1.1 编码的艺术 1.2 概念与命名 1.2.1 名副其实的功能描述 1.2.2 有意义的区分 1.2.3 遵循惯例 1.2.4 添加有意义的语境 1.2.5 符合自然语言语法的命名 1.2.6 缩略词 1.3 函数 1.3.1 单一功能 1.3.2 抽象层次 1.3.3 函数长度 1.3.4 输入参数 1.3.5 分离修改状态和查询状态的函数 1.3.6 避免重复 1.4 类 1.4.1 封装 1.4.2 抽象、继承、多态 1.5 思考与练习 第2章 Web编程 2.1 Web服务器 2.1.1 HTTP简介 2.1.2 协议簇中的HTTP 2.1.3 HTTP传输模式 2.1.4 HTTP请求消息 2.1.5 HTTP响应消息 2.1.6 HTTPS协议 2.2 Servlet 2.2.1 Servlet与Servlet容器 2.2.2 Servlet实例 2.2.3 Tomcat服务器 2.2.4 接收表单数据 2.2.5 HttpServletRequest简介 2.2.6 HttpServletResponse简介 2.3 JSP 2.3.1 JSP简介 2.3.2 JSP实例 2.3.3 JSP指令 2.3.4 JSP内置对象 2.3.5 网页重定向 2.3.6 请求转发 2.3.7 Servlet和JSP协作 2.4 监听器和过滤器 2.4.1 监听器 2.4.2 监听器实例 2.4.3 过滤器 2.4.4 过滤器实例 2.5 保存会话状态 2.5.1 cookie 2.5.2 cookie实例 2.5.3 session 2.5.4 身份认证 2.6 Ajax 2.6.1 Ajax简介 2.6.2 Ajax实例 2.7 思考与练习 第3章 数据库编程 3.1 概述 3.2 数据库基础 3.2.1 关系数据库 3.2.2 结构化查询语言 3.2.3 MySQL数据库 3.3 JDBC 3.3.1 数据库驱动 3.3.2 JDBC核心组件 3.3.3 建立连接 3.3.4 执行数据查询语言 3.3.5 处理null值 3.3.6 执行数据操作语句 3.3.7 执行数据定义语句 3.3.8 预编译Statement 3.3.9 批量更新 3.4 JDBC进阶 3.4.1 事务 3.4.2 存储过程 3.4.3 数据库连接池 3.4.4 元数据 3.4.5 日期与时间 3.4.6 分页查询 3.4.7 获取物理主键 3.5 思考与练习 第4章 类型信息与反射 4.1 概述 4.1.1 存储类型信息 4.1.2 加载类型信息 4.2 读取类型信息 4.2.1 类型信息的表示方法 4.2.2 Class类 4.2.3 获取Constructor对象 4.2.4 获取Method对象 4.2.5 获取Field对象 4.2.6 运行时类型识别 4.3 动态执行 4.3.1 深入反射 4.3.2 显式加载指定类 4.3.3 通过反射实例化类 4.3.4 通过反射执行方法 4.3.5 通过反射修改属性 4.3.6 动态编译 4.3.7 反射异常 4.4 动态代理 4.4.1 代理模式 4.4.2 Java动态代理 4.4.3 动态代理的特点 4.4.4 扩展阅读之AOP 4.5 依赖注入实例 4.6 思考与练习 第5章 泛型 5.1 概述 5.1.1 使用继承实现代码重用 5.1.2 泛型代码 5.1.3 算法与数据类型解耦 5.2 泛型类型 5.2.1 泛型类 5.2.2 泛型方法 5.2.3 泛型接口 5.2.4 泛型与继承 5.3 通配符 5.3.1 通配符的使用 5.3.2 通配符的捕获 5.4 泛型边界 5.4.1 含边界的泛型类 5.4.2 含边界的泛型方法 5.4.3 多边界 5.4.4 通配符与边界 5.5 泛型擦除 5.5.1 为何要擦除 5.5.2 如何擦除 5.5.3 多边界擦除 5.5.4 擦除限制 5.5.5 擦除冲突 5.5.6 类型安全和转换 5.5.7 泛型数组 5.5.8 再说通配符与边界 5.5.9 擦除总结 5.6 泛型与反射 5.6.1 泛型化的Class类 5.6.2 读取泛型参数 5.6.3 泛型参数类型的应用 5.7 思考与练习 第6章 注解 6.1 概述 6.1.1 什么是注解 6.1.2 注解的作用 6.1.3 Java常用注解 6.1.4 注解的使用方法 6.2 自定义注解 6.2.1 元注解 6.2.2 自定义注解 6.2.3 注解参数说明 6.3 注解处理 6.3.1 Runtime级注解处理 6.3.2 Source级注解处理 6.4 接口生成实例 6.5 对象关系映射(ORM)实例 6.5.1 定义注解 6.5.2 相关工具类 6.5.3 注解处理器 6.6 思考与练习 第7章 序列化 7.1 概述 7.2 对象序列化 7.2.1 序列化实例 7.2.2 需要序列化的类成员 7.2.3 继承关系序列化 7.2.4 引用关系序列化 7.2.5 保护敏感数据 7.2.6 序列化标识ID 7.2.7 自定义序列化 7.2.8 Externalizable接口 7.3 XML 7.3.1 DOM 7.3.2 SAX 7.3.3 JDOM 7.3.4 DOM4J 7.4 JSON 7.4.1 JSON语法 7.4.2 序言 前言 当前,中国在软件开发领域拥有大量的现 有程序员资源和潜在的程序员资源(即各大院校 软件工程专业的本科生和硕士生),但丰富的人 口红利并没有带来与之相当的技术创新优势,从 业者大多停滞在单纯使用技术的低层次阶段,而 难以对技术进行与应用相关的主动创新。编者认 为,这与当下高校在软件工程(尤其是软件项目 开发)教学中各门课程没能环环相扣有关,也与 有针对性的相关原理性讲解的专业书籍较少存在 一定关系。现有的大多数“Java程序设计基础 ”课程的相关教材一般主要讲述Java语言的基 本语法(包括Java语言基础、数据类型、Java 类和对象等),而与软件工程专业普遍开设的“ Java EE”课程相对应的内容又主要是 Servlet/JSP、SSH(Struts、Spring、 Hibernate)等企业级应用。为了填补Java程序 设计基础和J2EE等Java高级应用之间的空白, 本书讲解了Java的高级技术以及高级技术的应 用实例,让读者了解Java技术背后的原理。编 者认为学习技术不仅要会使用,还要知道技术后 面的原理,这样才能深入地掌握技术,快速、彻 底解决技术使用过程中出现的问题,科学客观地 评估技术存在的风险,有效地提高技术的使用效 率。因此,本书通过讲解Java高级技术帮助读 者学会Java技术,更希望读者明白Java技术后 面的原理。本书特色1. 内容体系完整,从基础 开始,由浅及深教材是实现教学要求的重要保证 ,本书体系完整,注重应用,强调实践。每一个 章节的内容都是由浅入深、循序渐进地展开,使 读者可以渐进地学习本书的全部知识。2. 编著 人员项目经验丰富,实例源于真实项目本书的作 者都是参加实际开发项目的负责人或主要成员, 有丰富的Java程序开发实践经验,因此本书内 容都是实际应用中确实需要的知识和技能。本书 所用实例全部来源于项目组开发且正在使用的真 实项目,相关细节契合真实的软件开发实践环境 。3. 各章实例丰富,有助于读者理解所述知识 本书的每一个章节都提供了充分的实例,这些例 子经过了精心设计与调试,能够恰当地展示相关 知识点的实现细节。读者可以在学完相关理论知 识后,通过上机实践来更加深入地了解、掌握这 些知识点。4. 使用较新版本的开发平台本书所 用的开发工具和相关框架在编写时都是较新版本 ,力图反映Java相关技术的新发展。读者可在 学习开发技术的同时接触较新版本的开发平台, 为以后的深入实践奠定基础。5. 配有源代码等 相关电子文档,方便读者使用为了方便读者使用 本书提供的大量示例程序,特将所有源代码都收 录到本书附带的电子资源中,读者可以运行这些 代码,以利于读者更深入地理解相关的理论知识 。同时,我们还提供了课后习题的参考答案,以 供广大读者练习时借鉴。另外,作为一本教材, 本书还专门为广大教师配备了与教材内容一致的 电子课件,以方便授课使用。读者对象 初步 掌握Java技术、想进一步学习Java高级编程的 读者 计算机专业的本科生 非计算机专业的 硕士研究生本书内容Java高级技术本身是由基 本技术通过综合、交叉后发展而来的。本书试图 让读者了解这种从简单技术到复杂技术的演变过 程,掌握演变规律,从而具备创新发明技术的能 力。第1章是关于写出好代码的规则、惯例、模 式。第2章是Web编程,包括Web服务器、 Servlet、JSP、监听器和过滤器、Ajax等内容 。第3章是基于Java的数据库编程,包括数据库 基础知识、JDBC及其进阶等内容。第4章是类型 信息与反射,包括类型信息的存储、加载、核心 类及其具体应用(即反射、动态代理)等内容。 第5章是泛型,包括泛型的类、方法、接口、边 界以及通配符等内容。第6章是注解,包括注解 的使用、自定义及其处理器,以及实体映射与翻 译等内容。第7章是序列化,包括对象序列化、 自定义序列化、XML文件、JSON等内容。第8章 是基于Java的网络编程,包括网络协议、流、 TCP编程、UDP编程、HTTP编程等内容。第9章主 要是多线程,包括线程基础知识、线程资源共享 、线程协作、同步器等内容。第10章是基于 Java的综合应用案例,包括MVC架构、Web实例 、数据库实例、反射实例、注解实例、网络编程 实例等内容。电子资源本书附带的电子材料中主 要有以下内容: 与教材内容一致的电子课件 (PPT) 本书中的示例源代码 本书各个章节 部分课后习题的参考答案(仅向教师提供) 作者2017年1月 导语 1. 内容体系完整,由浅及深_x000D_ 本书体系完整,注重应用、强调实践。每章内容都是从基础开始,由浅入深、循序渐进地展开,使读者可以渐进地学习全部知识。_x000D_ 2. 编著人员项目经验丰富,实例源于真实项目_x000D_ 本书作者都是真实软件项目的负责人或主要成员,有丰富的Java程序开发经验,全书所有实例全部来源于项目组开发且正在使用的真实项目,细节切合真实的软件开发环境。_x000D_ 3. 各章实例丰富_x000D_ 每章都提供了精心设计的案例,能恰当地展示相关知识点的实现细节。读者学完理论知识后,可以通过上机实践更加深入地了解和掌握这些知识点。_x000D_ 4. 使用最新版本的开发平台_x000D_ 本书的开发工具和框架都是最新版本,力图反映Java相关技术的新发展。读者在学习开发技术的同时接触最新版本的开发平台,为深入实践奠定良好的基础。_x000D_ 5. 配有充足的电子文档_x000D_ 本书提供示例程序的所有源代码、习题参考答案、教学课件,读者可登录清华大学出版社网站下载。本书的微课视频,读者可扫描封底刮刮卡注册后再扫描书中的二维码观看学习。_x000D_ 精彩页 = |