这里介绍几种常见的序列化,包括FastJsonSerialization,FstSerialization,KryoSerialization,Hessian2Serialization,ProtocolBuffer。
网站流量与性能分析指标
阅读大话数据结构(9)
本篇主要详细介绍动态查找树的演进,包括平衡二叉树,2-3查找树,红黑树,B树以及B+树。
平衡二叉树
平衡二叉树,又称AVL树,指的是左子树上的所有节点的值都比根节点的值小,而右子树上的所有节点的值都比根节点的值大,且左子树与右子树的高度差最大为1。
可以在这个地址里模拟平衡二叉树:https://www.cs.usfca.edu/~galles/visualization/BST.html
2-3查找树
如果一个内部节点拥有一个数据元素、两个子节点,则此节点为2节点。
如果一个内部节点拥有两个数据元素、三个子节点,则此节点为3节点。
当且仅当以下叙述中有一条成立时,T为2–3树:
T为空,即T不包含任何节点。
T为拥有数据元素a的2节点,若T的左孩子为L、右孩子为R,则L和R是等高的非空2–3树;a大于L中的所有数据元素;a小于等于R中的所有数据元素。
T为拥有数据元素a和b的3节点,其中a < b,若T的左孩子为L、中孩子为M、右孩子为R,则L、M、和R是等高的非空2–3树;a大于L中的所有数据元素,并且小于等于M中的所有数据元素;b大于M中的所有数据元素,并且小于等于R中的所有数据元素。
深入理解http协议(3)
常见问题
一次HTTP操作的流程?
域名解析 –> 发起TCP的3次握手 –> 建立TCP连接后发起http请求 –> 服务器响应http请求,浏览器得到html代码 –> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) –> 浏览器对页面进行渲染呈现给用户。
深入理解http协议(2)
本章主要介绍Cookie与Session以及JWT,同时讨论如何安全进行会话跟踪。
什么是Cookie
Http协议是无状态的,为了解决Http协议无法维持状态的问题,1994年网景通讯的一名员工 Lou Montulli将 “magic cookies” 的概念应用到 Web 通讯中。他试图解决 Web 的第一个购物车应用,现在购物车成了购物网站的支柱。他的原始说明文档提供了 cookie 工作原理的基本信息,该文档后来被作为规范纳入到 RFC 2109(大多数浏览器的实现参考文档)中,最终被纳入到 RFC 2965 中。Montulli 也被授予 cookie 的美国专利。网景浏览器在它的第一个版本中就开始支持 cookie,现在所有 Web 浏览器都支持 cookie。
Java中把Cookie封装成了javax.servlet.http.Cookie类。每个Cookie都是该Cookie类的对象。服务器通过操作Cookie类对象对客户端Cookie进行操作。通过request.getCookie()获取客户端提交的所有Cookie(以Cookie[]数组形式返回),通过response.addCookie(Cookie cookie)向客户端设置Cookie。
深入理解http协议(1)
头域
每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
Host头域:指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。