深入分析Java Web技术内幕(修订版)+java微服务 掌握在生产环境下轻松实现微服务pdf下载

深入分析Java Web技术内幕(修订版)+java微服务 掌握在生产环境下轻松实现微服务百度网盘pdf下载

作者:
简介:深入分析Java Web技术内幕(修订版)+java微服务 掌握在生产环境下轻松实现微服务
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

深入分析Java Web技术内幕(修订版)、 java微服务


书号:9787121232930 9787121304934



著    者:(美)Sourabh Sharma(沙鲁巴·夏尔马)
作 译 者:卢涛
出版时间:2017-01千 字 数:322
版    次:01-01页    数:248
印刷时间:开    本:16开
印    次:01-01装    帧:
I S B N :9787121304934 
重    印:新书换    版:
所属分类:科技 >> 计算机 >> 编程语言
广告语:   
纸质书定价:¥69.0

微服务是利用云平台开发企业应用程序的新技术,它是小型、轻量和过程驱动的组件。微服务适合设计可扩展、易于维护的应用程序。可以使开发更容易,还能使资源得到佳利用。本书帮助你用Java构建供企业使用的微服务架构,内容包括微服务核心概念和框架、大型软件项目的高层次设计、开发环境设置和前期配置、对微服务架构持续集成的部署、实现微服务的安全性、有效地执行测试、微服务设计的佳做法和一般原则,以及如何检测和调试问题。本书适合想要了解微服务架构,以及想要深入了解如何有效地实施企业级微服务的Java开发人员。

前言    XV

1  一种解决方法    1

微服务的演变    2

整体式架构概述    3

整体式架构的局限性与它的微服务解决方案的对比    3

一维的可扩展性    6

在出故障时回滚版本    7

采用新技术时的问题    7

与敏捷实践的契合    8

减轻开发工作量——可以做得更好    9

微服务的构建管道    10

使用诸如Docker的容器部署    11

容器    11

Docker    12

Docker的架构    13

Docker容器    14

部署    14

小结    14

2  设置开发环境    17

Spring Boot配置    18

Spring Boot概述    18

把Spring Boot添加至REST示例    19

添加一个嵌入式Jetty服务器    21

示例REST程序    22

编写REST控制器类    24

@RestController    25

@RequestMapping    25

@RequestParam    25

@PathVariable    26

制作一个示例REST可执行应用程序    29

设置应用程序构建    30

运行Maven工具    30

用Java命令执行    31

使用Postman Chrome扩展测试REST API    31

更多的正向测试场景    34

反向的测试场景    35

NetBeans IDE安装和设置    37

参考资料    42

小结    42

3  领域驱动设计    43

领域驱动设计基本原理    44

组成部分    45

普遍存在的语言    45

多层架构    45

表示层    46

应用程序层    46

领域层    46

基础架构层    47

领域驱动设计的工件    47

实体    47

值对象    48

服务    49

聚合    50

存储库    52

工厂    53

模块    54

战略设计和原则    55

有界上下文    55

持续集成    56

上下文映射    57

共享内核模式    58

客户和供应商模式    58

顺从者模式    59

反腐层    59

独立方法    59

开放主机服务    60

精馏    60

示例领域服务    60

实体的实现    61

存储库的实现    63

服务的实现    66

小结    67

4  实现微服务    69

OTRS概述    70

开发和实现微服务    71

餐馆微服务    72

控制器类    73

服务类    76

存储库类    79

实体类    82

预订和用户服务    85

注册和发现服务(Eureka服务)    85

执行    87

测试    87

参考资料    92

小结    92

5  部署和测试    93

使用Netflix OSS的微服务架构概述    93

负载均衡    95

客户端的负载均衡    95

服务器端的负载均衡    98

电路断路器与监控    102

使用Hystrix的回退方法    102

监控    103

设置Hystrix仪表板    105

设置Turbine    107

使用容器部署微服务    109

安装和配置    109

具有4 GB内存的Docker机器    110

使用Maven构建Docker映像    110

使用 Maven 运行Docker    114

使用Docker执行集成测试    115

把映像推送到注册表    118

管理Docker容器    119

参考资料    121

小结    121

6  实现微服务的安全性    123

启用安全套接字层    123

身份验证和授权    127

OAuth 2.0    127

OAuth的用法    128

OAuth 2.0规范——简明详细信息    128

OAuth 2.0角色    129

OAuth 2.0客户端注册    131

OAuth 2.0协议端点    135

OAuth 2.0授权类型    137

使用Spring Security的OAuth实现    144

授权码许可    150

隐式许可    153

资源所有者密码凭据许可    154

客户端凭据许可    155

参考资料    155

小结    156

7  利用微服务Web应用程序来使用服务    157

AngularJS框架概述    157

MVC    158

MVVM    158

模块    158

提供程序和服务    160

作用域    161

控制器    161

过滤器    161

指令    162

UI-Router    162

OTRS 功能的开发    163

主页/餐馆列表页    163

index.html    164

app.js    169

restaurants.js    172

restaurants.html    179

搜索餐馆    180

餐馆详细信息与预订选项    181

restaurant.html    181

登录页面    183

login.html    184

login.js    185

预订确认    186

设置web应用程序    187

小结    201

8  佳做法和一般原则    203

概述和心态    203

佳做法和原则    205

Nanoservice(不推荐)、规模和整体性    205

持续集成和部署    206

系统/端到端测试自动化    207

自我监控和记录    207

每个微服务都使用独立的数据存储区    209

事务边界    210

微服务框架和工具    210


深入分析Java Web技术内幕(修订版)

阿里巴巴集团技术丛书。技术大牛范禹、玉伯、毕玄联合力荐!大型互联网公司开发应用实践!

内容简介:

《深入分析Java Web技术内幕(修订版)》新增了淘 宝在无线端的应用实践,包括:CDN 动态加速、多终端化改造、 多终端Session 统一 ,以及在大流量的情况下,如何跨越性能、网络和一个地区的电力瓶颈等内容,并提供了比较完整的解决方案。

《深入分析Java Web技术内幕(修订版)》主要围绕Java Web 相关技术从三方面全面、深入地进行了阐述。首先介绍前端知识,即在JavaWeb 开发中涉及的一些基本知识,包括Web 请求过程、HTTPDNS 技术和CDN 技术。其次深入介绍了Java 技术,包括I/O 技术、中文编码问题、Javac 编译原理、class 文件结构解析、ClassLoader 工作机制及JVM 的内存管理等。·后介绍了Java 服务端技术,主要包括ServletSession CookieTomcat Jetty服务器、Spring 容器、iBatis 框架和Velocity 框架等原理介绍,并介绍了服务端的一些优化技术。

《深入分析Java Web技术内幕(修订版)》不仅介绍这些技术和框架的工作原理,而且结合示例来讲解,通过通俗易懂的文字和丰富、生动的配图,让读者充分并深入理解它们的内部工作原理,同时还结合了设计模式来介绍这些技术背后的架构思维。


目录:

第1章 深入Web请求过程1
1.1 B/S网络架构概述2
1.2 如何发起一个请求4
1.3 HTTP协议解析6
1.3.1 查看HTTP信息的工具8
1.3.2 浏览器缓存机制9
1.4 DNS域名解析12
1.4.1 DNS域名解析过程12
1.4.2 跟踪域名解析过程15
1.4.3 清除缓存的域名18
1.4.4 几种域名解析方式19
1.5 CDN工作机制20
1.5.1 CDN架构20
1.5.2 负载均衡21
1.5.3 CDN动态加速24
1.6 总结25
第2章 深入分析Java I/O的工作机制26
2.1 Java的I/O类库的基本架构26
2.1.1 基于字节的I/O操作接口27
2.1.2 基于字符的I/O操作接口28
2.1.3 字节与字符的转化接口29
2.2 磁盘I/O工作机制30
2.2.1 几种访问文件的方式30
2.2.2 Java访问磁盘文件34
2.2.3 Java序列化技术35
2.3 网络I/O工作机制37
2.3.1 TCP状态转化38
2.3.2 影响网络传输的因素40
2.3.3 Java Socket的工作机制40
2.3.4 建立通信链路41
2.3.5 数据传输42
2.4 NIO的工作方式42
2.4.1 BIO带来的挑战42
2.4.2 NIO的工作机制43
2.4.3 Buffer的工作方式46
2.4.4 NIO的数据访问方式48
2.5 I/O调优50
2.5.1 磁盘I/O优化50
2.5.2 TCP网络参数调优51
2.5.3 网络I/O优化53
2.6 设计模式解析之适配器模式57
2.6.1 适配器模式的结构57
2.6.2 Java I/O中的适配器模式58
2.7 设计模式解析之装饰器模式58
2.7.1 装饰器模式的结构59
2.7.2 Java I/O中的装饰器模式59
2.8 适配器模式与装饰器模式的区别60
2.9 总结60
第3章 深入分析Java Web中的中文编码问题61
3.1 几种常见的编码格式61
3.1.1 为什么要编码61
3.1.2 如何“翻译”62
3.2 在Java中需要编码的场景64
3.2.1 在I/O操作中存在的编码64
3.2.2 在内存操作中的编码66
3.3 在Java中如何编解码67
3.3.1 按照ISO-8859-1编码69
3.3.2 按照GB2312编码70
3.3.3 按照GBK编码71
3.3.4 按照UTF-16编码71
3.3.5 按照UTF-8编码72
3.3.6 UTF-8编码代码片段72
3.3.7 对几种编码格式的比较74
3.4 在Java Web中涉及的编解码74
3.4.1 URL的编解码76
3.4.2 HTTP Header的编解码79
3.4.3 POST表单的编解码79
3.4.4 HTTP BODY的编解码80
3.5 JS中的编码问题81
3.5.1 外部引入JS文件81
3.5.2 JS的URL编码82
3.5.3 其他需要编码的地方84
3.6 常见问题分析84
3.6.1 中文变成了看不懂的字符84
3.6.2 一个汉字变成一个问号85
3.6.3 一个汉字变成两个问号85
3.6.4 一种不正常的正确编码86
3.7 一种繁简转换的实现方式87
3.8 总结88
第4章 Javac编译原理89
4.1 Javac是什么90
4.2 Javac编译器的基本结构90
4.3 Javac工作原理分析92
4.3.1 词法分析器93
4.3.2 语法分析器100
4.3.3 语义分析器105
4.3.4 代码生成器115
4.4 设计模式解析之访问者模式118
4.4.1 访问者模式的结构119
4.4.2 Javac中访问者模式的实现120
4.5 总结121
第5章 深入class文件结构122
5.1 JVM指令集简介122
5.1.1 与类相关的指令124
5.1.2 方法的定义125
5.1.3 属性的定义126
5.1.4 其他指令集127
5.2 class文件头的表示形式135
5.3 常量池139
5.3.1 UTF8常量类型142
5.3.2 Fieldref、Methodref常量类型143
5.3.3 Class常量类型143
5.3.4 NameAndType常量类型144
5.4 类信息144
5.5 Fields和Methods定义145
5.6 类属性描述149
5.7 Javap生成的class文件结构150
5.7.1 LineNumberTable152
5.7.2 LocalVariableTable153
5.8 总结155
第6章 深入分析ClassLoader工作机制156
6.1 ClassLoader类结构分析157
6.2 ClassLoader的等级加载机制158
6.3 如何加载class文件161
6.3.1 加载字节码到内存161
6.3.2 验证与解析163
6.3.3 初始化Class对象163
6.4 常见加载类错误分析163
6.4.1 ClassNotFoundException163
6.4.2 NoClassDefFoundError164
6.4.3 UnsatisfiedLinkError165
6.4.4 ClassCastException166
6.4.5 ExceptionInInitializerError167
6.5 常用的ClassLoader分析168
6.6 如何实现自己的ClassLoader172
6.6.1 加载自定义路径下的class文件172
6.6.2 加载自定义格式的class文件174
6.7 实现类的热部署176
6.8 Java应不应该动态加载类178
6.9 总结179
第7章 JVM体系结构与工作方式180
7.1 JVM体系结构180
7.1.1 何谓JVM180
7.1.2 JVM体系结构详解183
7.2 JVM工作机制185
7.2.1 机器如何执行代码185
7.2.2 JVM为何选择基于栈的架构186
7.2.3 执行引擎的架构设计187
7.2.4 执行引擎的执行过程188
7.2.5 JVM方法调用栈193
7.3 总结197
第8章 JVM内存管理198
8.1 物理内存与虚拟内存199
8.2 内核空间与用户空间200
8.3 在Java中哪些组件需要使用内存201