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