随笔分类 - 深入分析Java Web 技术内幕
摘要:转载自: https://blog.csdn.net/forezp/article/details/88414741/ 前言 现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty。学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备
阅读全文
摘要:同源策略的限制: 存储在浏览器中的数据,如localStroage、Cooke和IndexedDB,不能通过脚本跨域访问(cookie不能任意读取) 不能通过脚本操作不同域下的DOM 不能通过ajax请求不同域的数据: 同源政策规定,AJAX请求只能发给同源的网址,否则就报错。除了架设服务器代理(浏
阅读全文
摘要:1、SQL注入攻击2、跨站脚本攻击 - XSS3、跨站伪造请求攻击 - CSRF 4、文件上传漏洞攻击5、分布式拒绝服务攻击 - DDOS
阅读全文
摘要:18.1 淘宝大浏览量商品详情系统简介 HTTP请求经过负载均衡设备分配到某个域名对应的集群,经过Nginx代理到JBoss或者Tomcat容器,由他们负责具体处理用户请求。目前这些大浏览量的系统大部分需要读取的数据都已经直接走 K/V 缓存了,不会直接从DB获取数据。 18.2 系统面临哪些挑战
阅读全文
摘要:13.1 Spring的骨骼架构 最核心的组件是:Core, Context, Bean。 13.1.1 Spring的设计理念 Spring最核心的组件是Bean组件。Spring解决的最关键的问题:对象之间的依赖关系用配置文件来管理,也就是依赖注入机制。这个依赖注入在IOC容器中管理。 13.1
阅读全文
摘要:需要很多Cookie时,考虑HTTP对Cookie数量和大小的限制。 几百或更多台服务器的时候,如何解决Session在多态服务器之间共享的问题。 还有一些安全问题,如Cookie被盗,Cookie伪造等。 二者的作用是为了保持访问用户与后端服务器的交互状态。 Cookie个数的增加和访问量的增加,
阅读全文
摘要:11.1 Tomcat总体设计 11.1.1 Tomcat总体架构 Tomcat和核心有连个组件:Connector和Container,Connector是可以被替换的。一个container可以有多个connector,多个connector和一个container形成一个service,ser
阅读全文
摘要:9.1 从Servlet容器说起 Servlet容器:Jetty, Tomcat等。 这里以Tomcat为例, 真正管理Servlet的容器是Context容器,一个Context对应一个WEB工程。context容器管理Servlet在容器中的包装类Wrapper,所以Context容器如何运行直
阅读全文
摘要:8.1 物理内存与虚拟内存 地址总线(连接处理器和RAM或处理器和寄存器的)的宽度影响了物理地址的索引范围,决定了处理器一次可以从寄存器或内存中获取多少个bit。同时决定了处理器最大的寻址空间,32位总线宽度可以有4GB的内存空间。 每个进程有独立的地址空间,进程之间不重合,OS保证每个进程只能访问
阅读全文
摘要:JVM能跨计算机体系结构来执行Java字节码,主要是由于JVM屏蔽了与各个计算机平台的软件和硬件之间的差异。 7.1 JVM体系结构 7.1.1 何谓JVM 模拟一个计算机来达到一个计算机所具有的计算功能。 以计算为中心来看计算机的体系结构可以分为如下几个部分。 指令集 计算机能识别的机器语言的命令
阅读全文
摘要:补充(非书中): Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取Java字节代码,并转换成 java.lang.Class类的一个实例。每个这样的实例用来表示一个Java 类。通过此实例的 newInstan
阅读全文
摘要:一次编译好的class文件是如何到处运行的 5.1 JVM指令集简介 5.1.1 与类相关的指令 5.1.2 方法的定义 5.1.3 属性的定义 5.1.4 其他指令集 5.2 class文件头的表示形式 5.3 常量池 5.3.1 UTF8常量类型 5.3.2 Fieldref,Methodref
阅读全文
摘要:4.1 Javac是什么 是一种编译器,将JAVA源代码(.java文件)语言先转化成JVM能够识别的一种语言(.class文件),然后由JVM将JVM语言再转化成当前机器可以识别的机器语言。 4.2 javac编译器的基本结构 javac编译器的作用是将符合JAVA语言规范的源代码转化成符合JAV
阅读全文
摘要:3.1 几种常见的编码格式 3.1.1 为什么要编码 一个字节 byte只能表示0~255个符号,要表示更多的字符,需要编码。 3.1.2 如何翻译 ASCII码:有128个,用一个字节的低7位表示。 ISO-8859-1,能表示256个,是单字节编码。 GB2312: 双字节编码, GBK:是对G
阅读全文
摘要:2.6 设计模式解析之适配器模式 2.6.1 适配器模式的结构 把一个类的接口变换成一客户端能接受的另一个接口。 Target(目标接口): 要转换的期待的接口。 Adaptee(源角色):需要适配的接口。 Adapter(适配器):将源接口适配成目标接口,继承源接口,实现目标接口。 2.6.2 J
阅读全文
摘要:java的I/O操作类在包java.io下,大致分成4组: 所有文件的存储都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再存储这些字节到磁盘。在读取文件时,也是一个字节一个字节读取。 字节流可以用于任何类型的对象,包括二进制对象;而字符流只能处理字符或者字符串 字
阅读全文
摘要:B/S架构带来了以下两方面的好处: (1) 客户端使用同一个的浏览器。浏览器有统一性,不需要特殊的配置。浏览器的交互性使得用户使用它非常简单。 (2) 服务端基于统一的HTTP。和传统的C/S架构使用自定义应用层协议不同,B/S架构使用HTTP。使用HTTP也为服务提供商 简化了开发模式,使得服务器
阅读全文