共计 1533 个字符,预计需要花费 4 分钟才能阅读完成。
20 HTTP 长连贯与短连贯
每日一句
纸上得来终觉浅,绝知此事要躬行。
每日一句
Never give up until the fight is over.
永远不要放弃,要始终战斗到最初一秒。
概念
长连贯
指在一个 TCP 连贯上能够间断发送多个数据包。
在 TCP 连贯放弃期间,如果没有数据包发送,须要单方发检测包以维持此连贯,个别须要本人做在线维持。
短连贯
指通信单方有数据交互时,就建设一个 TCP 连贯,数据发送实现后,则断开此 TCP 连贯。
HTTP 的长连贯和短连贯实质上是 TCP 长连贯和短连贯。
HTTP 属于应用层协定,在传输层应用 TCP 协定,在网络层应用 IP 协定。
IP 协定次要解决网络路由和寻址问题,TCP 协定次要解决如何在 IP 层之上牢靠的传递数据包。
从 HTTP/1.1 起,默认应用长连贯,用以放弃连贯个性。应用长连贯的 HTTP 协定,会在响应头有退出这行代码:Connection:keep-alive
连贯过程
短连贯操作步骤是:
连贯→数据传输→敞开连贯;
长连贯通常就是:
连贯→数据传输→放弃连贯(心跳)→数据传输→放弃连贯(心跳)→……→敞开连贯
应用场景
长连贯:
多用于操作频繁,点对点的通信,而且连接数不能太多状况.
如数据库连贯
短连贯
web 网站的 http 服务。长连贯更加消耗服务器资源。bulabula..
美文佳句
把握分寸,是一种难得的智慧。那些能看到他人长处的人,往往懂得把他人放在心上,时刻关照他人的感触。他们会在一言一语中放低本人的姿势,让他人感触到关怀和尊重。
人与人之间,不过一场以心换心。学会观赏他人,他人才会观赏你。对别人适时地赞美,不须要如许高超的谈话技巧,比技巧更重要的是真挚。真心实意、以诚相待,永远是人际交往中最根本的准则。
面试题
HashMap、ConcurrentHashMap 和 Hashtable 有什么区别?
HashMap | ConcurrentHashMap | Hashtable | |
线程是否平安,以及实现线程平安的形式 | HashMap 不平安 | 线程平安,ConcurrentHashMap JDK1.7 底层采纳分段锁,对整个桶数进行了宰割分段(segment), 每一把锁只锁容器其中一部分数据,进步并发访问率。 JDK 1.8 底层采纳 Node 数组 + 链表 + 红黑树的构造实现, 并发管制应用了 synchronized 和 CAS 操作。 | 线程平安,底层采纳 synchronized 来保障线程平安, 间接是办法级别的加锁,ConcurrentHashMap 尽管也是 synchronized 但它是对链表或者红黑树的头节点进行加锁,锁的粒度更小 |
底层工作原理 | 底层采纳的是 数组 + 链表 | ConcurrentHashMap JDK 1.7 底层采纳 分段的数组 + 链表实现。 JDK 1.8 采纳的是 数组 + 链表 / 红黑树 | 底层采纳的是 数组 + 链表 |
空值问题 | HashMap 容许应用 null 值(key 和 value)都能够。 然而这样的键只有一个,能够有一个或多个键所对应的值为 null | HashTable 不容许 null 值(key 和 value 都不能够) | |
初始容量、扩容与默认负载因子 | HashMap 默认初始大小 16,每次扩容 2n,默认负载因子是 0。75 | HashTable 默认初始大小为 11,每次扩容 2n+1 |
你都晓得哪些罕用的 Map 汇合?
HashMap、HashTable、TreeMap、LinkedHashMap、ConcurrentHashMap
@RequestMapping 注解有什么用?
@RequestMapping
注解,用于将特定 HTTP 申请办法映射到将解决相应申请的控制器中的特定类 / 办法。此正文可利用于两个级别:
- 类级别:映射申请的 URL。
- 办法级别:映射 URL 以及 HTTP 申请办法。
你好,我是 yltrcc,日常分享技术点滴,欢送关注我:ylcoder