TCP-IP基础知识(二)
回顾
之前讲过一篇关于IP协议的一篇博客。如果了解网络的人应该都知道开放式系统互联通信参考模型。也就是OSI模型(Open System Interconnection Reference Model),我们之前说的IP协议是指的网络层。今天我们来可能说一说TCP协议,他是位于传输层。OSI模型总共有七层,详细看图。
应用层(Application Layer)提供为应用软件而 设的界面,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等
表示层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式,该层被弃用。应用层的HTTP、FTP、Telnet等协议有类似的功能。传输层的TLS/SSL也有类似功能
会话层(Session Layer)负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接,该层被弃用。应用层的HTTP、RPC、SDP、RTCP等协议有类似的功能。
传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发 ...
TCP/IP基础知识(一)
什么是IP,IP地址是什么
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。
IPv4到IPv6
常见的IP地址分为IPv4与IPv6两大类。IP地址由32位二进制数组成,为便于使用,常以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数。例如维基媒体的一个IP地址是208.80.152.2。地址可分为A、B、C、D、E五大类,其中E类属于特殊保留地址。IP地址是唯一的。目前IP技术可能使用的IP地址最多可有4,294,967,296个(即2的32方)。骤看可能觉得很难会用尽,但由于早期编码和分配上的问题,使很多区域的编码实际上被空出或不能使用。加上互联网的普及,IPv4的42亿个地址的分配最终于2011年2月3日用尽。相应的科研组织已研究出128位的IPv6,其IP地址数量最高可达3.402823669 × 1038个,届时每个人家居中的每件电器,每件对象,甚至 ...
ArrayBlockingQueue
什么是Queue
Queue就是队列的意思,所谓的队列就是排队,先进先出(FIFO first in frist out)。队列是一种非常常见的数据结构,他是一种特殊的线性表,只允许从head头出队,从tail尾入队。先进先出(FIFO):先插入的队列的元素也最先出队列,类似于排队的功能。从某种程度上来说这种队列也体现了一种公平性。
什么是Array
在计算机科学中,数组数据结构(英语:array data structure),简称数组(英语:Array),是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素对应的存储地址。所以查找起来比较方便,和数组相对数据结构的就是链表,链表是不连续的存储。连续存储的好处就是她查找起来比较方便,每个元素都是相同大小的存放到一起。但是很容易出现碎片化的问题,而且对于大数组来说内存的消耗很大。但是链表就不会,他是很多和节点联系在一起,所以插入和删除比较方便,不用去移动位置。需要更改前驱和后继的指针就好了。
什么是BlockingQueue
Blocking(阻塞)Queue ...
LinkedHashMap
Linked是什么
linked是串联,连接的意思。编程里面理解成是用链表实现的数据结构,一般与HashMap,List,Set什么联合使用,说明这些集合类,都是通过链表实现的,这些集合存储额都是有顺序的,按照放进去的顺序。
什么是链表,链表与数组的去别
链表这个名称,估计学过数据结构的人都不陌生,链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据。也就是说他存储的信息的地址不是顺序的,与之相反的是数组。他的存储的信息和内存地址是连续的。使用链表的好处就在于每次修改删除比较方便,你只要找到对于位置,修改掉前驱元素和后继元素的指针就可以,不用移动其他数据,而数组在新增和删除的时候要移动大量的数据。所以在查询方面数组有很的优势,而在频繁的修改的数据,使用链表速度快一点**。数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n); 数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)**。同时链表也增加了存储空间,原来只存data,现在要存data的before和after。
LinkedHashMap是什么 ...
转发与重定向
转发(forward):转发做了一次请求,浏览器的地址栏一直是第一次请求的地址。转发是服务器内部request/response控制权的移交。整个过程是一个请求,一个响应。
重定向(redirect):重定向行为是做了两次请求,及产生了两个request对象,重定向会导致request对象信息丢失。两个请求,两个响应。
区别:重定向是客户端行为,转发是服务器行为.重定向可以跨域访问,而转发是在web服务器内部进行的,不能跨域访问。
过程:
重定向:浏览器发出http请求 >> 服务器接受请求并发送302状态码和新的对应的url到浏览器 >> 浏览器接收响应并自动请求新的url >> 服务器接收请求并寻找客户所需的资源响应到浏览器。
转发:浏览器发出http求其 >> 服务器接收请求 >> 服务器调用内部的一个方法在容器内完成请求处理和转发动作 >> 将客户所需资源发送到浏览器。
调用方式:
重定向:
1).response.sendRedict(url);2).response.se ...
为什么你一直没有成就(来干了这碗鸡汤)
因为你随波逐流,近墨者黑、不思上进,分钱没有、死爱面子!因为你畏惧你的父母、你听信你亲戚、你没有主张、你不敢一个人做决定。你观念传统、只想结婚生子,然后生老病死、走你父母一模一样的路。因为你天生脆弱、脑筋迟钝只想做按班就部的工作。因为你总以为只有自己创业才叫成功
整天应付你现在的工作而不思进取。因为你想做无本的生意,你想坐在家里等天上掉陷饼!因为你抱怨没有机遇、机遇来到你身边的时候你又抓不住,因为你不会抓!因为你的贫穷,所以你自卑!你退缩了、你什么都不敢做!你没有特别技能,你只有使蛮力!你和你父母一样,恶性循环!所以,你永远一辈子碌碌无为,很多人想把握机会、但要做一件事情时,往往给自己找了很多理由让自己一直处于矛盾之中!不断浪费时间,虚度时光
1 、我没有口才——错:没有人天生就很会说话,台上的演讲大师也不是一下子就能出口成章,那是他们背后演练了无数次的结果!你骂人的时候很擅长,抱怨的时候也很擅长,但这种口才是没有价值的口才,看别人争论的时候、自己满嘴评头论足、却不知反省自己,倘若你付出努力练习,你今天是否还说自己没口才?
2 、我没有钱—— 错: 不是没有钱,而是没有赚钱的脑袋。 ...
Java内存模型
Java内存模型(Java Memory Model):往往是指Java程序在运行时内存的模型,而Java代码是运行在Java虚拟机之上的,由Java虚拟机通过解释执行(解释器)或编译执行(即时编译器)来完成,虚拟机在执行Java程序的过程中,会把它管理的内存划分为几个不同的数据区域,这些区域都有各自的用途、创建时间、销毁时间。故Java内存模型,也就是指Java虚拟机的运行时内存模型。它包括程序计数器(Program Counter Register)、虚拟机栈(栈 Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)。其实还有常量池,只不过他一般都是在方法区中。
Java栈:
栈是一种非常常见的数据结构,它采用典型的先进后出(后进先出 LIFO)的操作方式完成的。每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,同样存数据也是存到栈顶。栈式一块连续的内存区域,大小是有操作系统觉决定的(这个可以在配置文件中配置)。所以栈的大小比较小,远远小于堆。主要存储一些引用和局部变量(基本类型的局部变量)和方法调用信息, ...