File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ # 深入分析JavaWeb技术内幕
2
+
3
+ ---
4
+
5
+ * 20191106*
6
+
7
+ ### 1 请求过程
8
+
9
+ - BS架构基于统一的应用层协议HTTP交互数据,不同于CS使用自定义的应用层协议,更规范。-
10
+ - http采用无状态短链接,一次请求完成一次数据交互(一次业务逻辑),有利于高并发。
11
+ - 输入URL后:
12
+ 1 . DNS将域名解析为IPd地址,找到对应服务器,发起get请求,将返回数据交给用户。
13
+
14
+ - URL统一资源定位符,独一无二
15
+
16
+ - 发起一个HTTP请求过程就是建立一个socket通信
17
+
18
+ - CDN内容分布网络=镜像+缓存+整体负载均衡,提高信息流动效率,以缓存网站静态数据为主(cssjs图片静态数据)
19
+
20
+ ---
21
+
22
+ ### 2 java IO
23
+
24
+ - IO操作的都是字节而非字符,但有面向字符的接口.
25
+ - Java序列化:将对象转化成二进制表示的字节数据,通过保存转移字节数据达到持久化(在纯Java环境下,实现Serializable接口),多语言环境下会难以还原,存储为通用的数据结构Json XML.
26
+ - BIO(阻塞IO)一旦阻塞,线程失去cpu使用权,在大访问量和性能要求场景下无法接受(即使使用线程池,还会存在保持大量HTTP长连接的情况),需要NIO.
27
+ - 包装模式设计模式:装饰器与适配器,适配器将一个接口转变为另一个接口,通过改变接口达到重复使用的目的,装饰器保持原有接口进行功能增强或处理方法改变提升性能。
28
+
29
+ ### 3中文编码
30
+
31
+ - 存储信息最小单位byte和表示符号的数据结构char之间的编码。
32
+
33
+ ### 4javac编译
34
+
35
+ - javac: java 源码编译为Java字节码(.java->.class)经历词法分析,语义分析,访问者模式遍历语法树。
36
+
37
+ ### 5class文件
38
+
39
+ ### 6classloader
40
+
41
+ - 负责将class加载到JVM中,审查每个类该由谁加载,将class字节码重新解析成JVM统一要求的对象格式。
42
+ -
43
+
44
+
45
+
46
+
47
+
48
+
You can’t perform that action at this time.
0 commit comments