Java Web
2016-11-08 本文已影响0人
JackyBA
ref: 深入分析Java Web技术内幕
总结:
Spring事务配置
Ch 1 深入Web请求过程
-
CDN
Content Delivery Network: 构建在现有的Internet上的一种先进的流量分配网络。
目的:通过在现有的Internet中增加一层新的网路架构将网站的内容办法不到最接近用户的网络“边缘”,使用用户可以就近取得所需的内容提高用户访问网站的相印速度。
CDN=镜像(Mirror)+ 缓存(Cache)+ 整体负载均衡(GSLB) -
负载均衡方式
类型 | 实现方式 | 特点 |
---|---|---|
1. 链路负载均衡 | 过DNS解析成不同的IP,然后用户根据IP来访问不容的目标服务器; | 优点:用户直接访问目标服务器,无需中间代理,通常访问速度回更快;缺点:由于DNS缓存导致某台Web Server挂掉时,很难及时更新用用户的域名解析结果到时无法访问该域名 |
2. 集群负载均衡 | 分为:硬件负载均衡;软件负载均衡。软件:可以根据请求的IP地址,请求URL,HTTP请求头,Cookie信息来进行转发请请求 | 硬件:优点:性能非常好,缺点:价格昂贵,无法动态扩容;软件:优点;使用最普遍,成本低,缺点:访问会进过多层代理服务器,增加网络延迟 |
3. 操作系统负载均衡 | 利用操作系统级别的软中段或硬件中断达到负载均衡 |
- BIO: Blocked I/O
- NIO: New I/O
Ch 6 深入分析ClassLoader工作机制
- ClassLoaner作用
- 在自定义的路径下的查找自定义的class类文件;
- 对我们自己的要加载的类做特殊处理,如保证通过网络传输的类的安全性;
- 可以定义类的实现机制,如实现类的热部署。
- JVM唯一表示一个类:
- 完整类名;
- 加载这个类的ClassLoader是否是同一个实例
Ch 8 JVM内存管理
- 基于分代的垃圾回收算法
设计思想:根据对象的寿命长短来分组,分为年轻代,年老代,JVM将整个队划分为Young区,Old区,Perm区
- Young区:分为Eden区和两个Survivor区,其中所有新创建的对象都在Eden区,但Eden区满后会触发minor GC将Eden去仍然存活的对象复制到其中一个Survivor区中,另外一个Survivor区中存活的对象也复制到这个Survivor中,以保证始终有一个Survivor区是空的;
- Old区存放的是Young去的Survivor满后触发minor GC后仍然存活的对象,当Eden区满后会将对象存放到Survivor区中,如果Survivor区仍然存不下这些对象,GC收集器会将这些对象直接存放到Old区,如果Survivor区中的对象足够老,也直接存放到Old区。如果Old区满了,将会触发Full GC,回收整个堆内存;
- Perm区存放的主要是类的Class对象,付过一个雷被频繁的加载,也可能导致Perm区满,从而触发Full GC。
Ch 10 Session
Ch 11 Tomcat 的系统架构与设计模式
Tomcat核心组件:
- Connector: 负责接受浏览器发过来的TCP连接请求,创建一个Request和Response对象分别用于和请求段交换数据。
- Container;
Ch 15 MyBatis
ref: http://www.mybatis.org/mybatis-3/zh/index.html
- iBatis功能
- 根据JDBC规范建立与数据库的连接;
- 通过反射建立Java对象和数据库表的相互转化关系。
Ch 16 Velocity 工作原理解析
Java语言模板引擎:JSP,Velocity,FreeMaker
Velocity中的设计模式:
-
合成模式:又叫部分整体模式,通常把对象的关系映射到一棵树中,利用树的枝干和叶子节点来描述单个对象和组合对象,从而构建统一的操作这些对象的接口,是的访问对象方式更加简单。
-
解释器模式:将带有一定文法的语句接解释成特定的数据结构,并提供一种解释功能,使得能够解释这个语句。
功能:
- 将带有一定规则的语句解析成带有等级关系的对象集合;
- 按照语法规则解释这个等级关系的集合。