java Web技术内幕

来源:互联网 发布:域名授权系统源码php 编辑:程序博客网 时间:2024/05/27 12:22

1.DNS和CDN
域名解析的话,DNS必不可少,CDN可有可无,CDN=更智能的镜像+缓存+整体负载均衡。
目前CDN都以缓存网站的静态数据为主,如CSS,JS,图片和静态页面。
CDN目标:可拓展,安全性,可靠性。
负载均衡:链路,集群,操作系统。链路:通过DNS解析成为不同的ip,用户根据这个ip访问不同的目标服务器。
集群复制:硬件(花费较高);软件负载:缺点是经过多次代理服务器,会增加网络延时。
操作系统复杂均衡:利用操作系统疾病的软终端或者硬件中断来达到负载均衡。
每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器。
CDN加速方式:双线加速;智能DNS;CDN加速=智能DNS+多服务器。
2.java序列化技术
总结:1.父类继承了serializable接口时,所有子类都可以序列化。
2.子类实现了serializable接口,而父类没有(不保存,数据丢失),但在子类中熟悉仍能正确序列化。
3.如果虚拟化的属性是对象,则这个对象要实现serializable接口,否则报错。
4.反序列化时,如果对象的属性有修改和删减,则修改的部分属性会丢失,但不会报错。
5.在反序列化时,如果修改了vsersionId,则反序列化会失败。
3.影响网络传输的因素
影响响应时间的因素有:1.网络带宽;2.传输距离;3.TCP拥塞控制
4.Socket通信
1.当客户端与服务端通信时,客户端首先创建socket实例,操作系统分配端口号,创建一个包含本地地址、远程地址和端口号的套接字数据结构。创建完socket实例的构造函数正确返回前,要进行tcp的3次握手协议,完成后创建成功。
5.同步与异步;阻塞和非阻塞
同步是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能完成,是一种可靠的任务序列。
阻塞和非阻塞是从cpu的消耗上来说的,阻塞是让cpu停下来等待一个蛮的操作完成以后,cpu才截止完成其他的工作。非阻塞时在这个吗的操作执行时,cpu去做其他工作,等这个蛮的操作完成后,cpu在接着完成后续的操作。
6.java IO中的设计模式
1.适配器模式:把一个类的接口变成客户端所能接受的另外一种接口,从而使这两个接口不匹配无法一起工作的两个类能够一起工作。
包含3个角色:
1.target(目标接口):所要转换的所期待的接口。
2.adaptee(源角色):需要适配的接口。
3.adapter(适配器):将源接口适配成目标接口,继承源接口,实现目标接口。
IO中将字符串数据转换成字节数据保存在文件中。
装饰器模式:将一个类装饰后功能更加强大,装饰器模式要做的是对装饰类的使用者透明。
1.component:抽象组件角色,定义一组抽象的接口,规定被这个被装饰组件有哪些功能。
2. concreteComponent:实现这个抽象组件的所有功能。
3. decorator:装饰者角色,它持有一个component对象实例的应用,定义一个与抽象组件一致的接口。
4. 具体的装饰器实现者,负责实现装饰器角色定义的功能。
inputstream 类就是抽象组件,fileinputstream是具体的组件,是fileterInputStream类使装饰角色。
7.javac 编译原理
javac的任务是将java源码编译成java字节码,也就是jvm能够识别的二进制文件。
8.深入分析classLoader工作机制
classLoader顾是类加载器,负责class加载到jvm中;审查每个类应该是由谁加载,它是一种父优先的等级加载机制。
9.物理内存和虚拟内存
物理内存:我们通常所说的RAM(随机存储器)。还有一个存储单元叫寄存器,用于存储计算单元执行命令的中间结果。
虚拟内存:使得多个进程在同时运行时可以共享物流内存,共享是空间上共享,在逻辑上它们依然是不能相互访问的。
10.内核空间与用户空间
内核空间:主要指操作系统运行时所使用的用于程序调度,虚拟内存的使用或者链接硬件资源等的程序逻辑。
11.spring核心组件
bean组件在spring的beans包下,主要解决的3件事:1.bean的定义;2.bean的创建;3.bean的解析。

原创粉丝点击