tomcat Http11NioProtocol如何解析http请求及如何解决TCP拆包粘包

前言 tomcat是常用的Web 应用服务器,目前国内有很多文章讲解了tomcat架构,请求流程等,但是没有如何解析http请求及如何解决TCP粘包拆包,所以这篇文章的目的就是介绍这块内容,一下内容完全是个人查看tomcat nio 相关源码来总结的,源码版本9.0.30,欢迎提问,欢迎指出错误。 请求解析 参数在请求行时的请求形式 GET /myServlet?name=zhangsan HTTP/1.1 Connection: keep-alive 参数在请求体时的请求形式 POST /m
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

git代码合并与冲突

场景: 开发人员:A和B 1、A拉取master分支:git pull orgin master; 2、B拉取master分支:git pull orgin master; 3、A在分支上开发功能上传到远程代码库,merge到远程master分支上; A创建新的分支release/dev1: git checkout -b release/dev1; A开发完功能将分支上传到远程:git add  /  git commit /  git push 远程合并代码 4、B在分支上开发功
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

django values&values_list

values返回是字典列表; values_list返回的是元组列表, values_list加上 flat=True 返回的是列表的值
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

MySQL优化5---查询优化

为什么查询慢 慢的原因有很多,比如网络、CPU、IO、锁、SQL本身问题等。 SQL执行响应时间是第一位的,SQL的优化一定要找出哪部分是最慢的,具体问题具体分析。分析方法可以使用系统性能检测和执行计划查看。 数据量大问题 1.查询是避免使用select * ,应该具体列出需要的那些字段; 2.如果明确了需要查询结果是数目,建议使用limit N,只取出需要的数据,不做多余的查询避免消耗; 3.多次重复查询一个大量数据的操作,可以考虑使用缓存,减小数据库压力。 mysql自带的优化 查询过程:
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

tcp的重传与超时

TCP协议是一种面向连接的可靠的传输层协议,它保证了数据的可靠传输,对于一些出错,超时丢包等问题TCP设计的超时与重传机制。 其基本原理:在发送一个数据之后,就开启一个定时器,若是在这个时间内没有收到发送数据的ACK确认报文,则对该报文进行重传,在达到一定次数还没有成功时放弃并发送一个复位信号。   这里比较重要的是重传超时时间,怎样设置这个定时器的时间(RTO),从而保证对网络资源最小的浪费。 因为若RTO太小,可能有些报文只是遇到拥堵或网络不好延迟较大而已,这样就会造成不必要的重传。太大的
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

取消ActionBar的方法

取消ActionBar的方法 第一种 添加这一行代码requestWindowFeature(Window.FEATURE_NO_TITLE);在setContentView(R.layout.activity_main);之前 第二种 在onCreate()中申请ActionBar,声明之后,actionBar=getActionBar();使用actionBar.hide()进行取消 第三种 第三种是通过修改注册活动文件进行隐藏,在注册活动文件中,找到并修改为:android:theme=
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

测试:《新民主主义论》读书笔记

新民主主义论 "新中国航船的桅顶已经冒出地平线了,我们应该拍掌欢迎它。举起你的双手吧,新中国是我们的." 一 中国向何处去 说明一下中国政治和中国文化的动向问题 对于全国先进的文化工作者,我们的东西,只当作引玉之砖,千虑之一得,希望共同讨论,得出正确结论,来适应我们民族的需要。 科学的态度是“实事求是”,“自以为是”和“好为人师”那样狂妄的态度是决不能解决问题的。我们民族的灾难深重极了,惟有科学的态度和负责的精神,能够引导我们民族到解放之路。真理只有一个,而究竟谁发现了真理,不依靠主观的夸张,
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

CocosCreator教程(入门篇)【转】

[TOC] 系列教程 CocosCreator教程(初识篇) CocosCreator教程(编辑器篇) 一、项目结构 ProjectName(新建项目) ├──assets ├──library ├──local ├──packages ├──settings ├──temp └──project.json 子结构 功能 assets 与资源管理器的内容同步,游戏的核心目录(每个文件都有相应.meta文件) library 这里文件的结构和资源的格式将被处理成最终游戏发布时需要的形式 loc
分类: 其他 发布时间: 03-16 23:50 阅读次数: 0

高频访问IP限制 --Openresty(nginx + lua) [反爬虫之旅]

嗯….本人是从写爬虫开始编程的,不过后面做web写网站去了,好了,最近web要搞反爬虫了,哈哈哈,总算有机会把之以前做爬虫时候见识过的反爬一点点给现在的网站用上了~做爬虫的同志,有怪莫怪喽~还有求别打死><首先要提一下AJAX,现在普天下网页几乎都是往特定的数据接口请求数据了,除了什么首屏渲染这种服务端渲染好html以外,几乎没有什么静态网页了。我看了有一些帖子说AJAX让爬虫难做,可
分类: 服务端 发布时间: 03-16 23:50 阅读次数: 0

大型网站架构——百万PV网站

实验架构:黑线是正常情况数据的流向红色是异常情况下数据流向实验环境:CentOS7-1(master)192.168.13.128nginx反向代理(主)、redis缓存处理器(主)、mysql数据库(主)CentOS7-2(backup)192.168.13.129nginx反向代理(备)、redis缓存处理器(备)、mysql数据库(从)CentOS7-3(tomcat1)192.168.13
分类: 企业开发 发布时间: 03-16 23:50 阅读次数: 0

【TF-2-2】Tensorflow-变量作用域

目录 背景 简介 name_scope variable_scope 实例 一、背景 通过tf.Variable我们可以创建变量,但是当模型复杂的时候,需要构建大量的变量集,这样会导致我们对于变量管理的复杂性,而且没法共享变量(存在多个相似的变量)。针对这个问题,可以通过TensorFlow提供的变量作用域机制来解决,在构建一个图的时候,就可以非常容易的使用共享命名的变量。 二、简介 Tensorflow中有两个作用域,一个是name_scope,另一个是variable_scope。 nam
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

微服务网关Zuul和Gateway的区别

spring-cloud-Gateway是spring-cloud的一个子项目。而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已。 因为zuul2.0连续跳票和zuul1的性能表现不是很理想,所以催生了spring团队开发了Gateway项目。 Zuul: 使用的是阻塞式的 API,不支持长连接,比如 websockets。 底层是servlet,Zuul处理的是http请求 没有提供异步支持,流控等均由hystrix支持。 依赖包sp
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

Vant TreeSelect 分类选择

参考地址 https://youzan.github.io/vant/#/zh-CN/tree-select 父组件 <template> <div> <van-tree-select height="155vw" :items="items" :main-active-index.sync="active" > <template slot="content"> <test /> </template> </van-tree-sel
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

oracle启动失败startup--闪回空间满

目录 oracle启动失败startup--闪回空间满 登录失败 增大闪回空间 启动失败日志 oracle启动失败startup--闪回空间满 登录失败 sqlplus / as sysdb登录后: startup 失败,ORA-03113: end-of-file on communication channel 查看日志: SQL> show parameter db_recovery_file_dest_size; NAME TYPE VA
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

hdu1495 倒水bfs

题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1495/ 题意:给定三个杯子S,M,N,满足S=M+N,现在要求用最短的次数将S杯中的饮倒平分到两个杯子中。我们首先想到这个问题需要用搜索来解决,由于杯子没有刻度,所以每次倒水都是要将一个杯子中的水倒光或者将另一个杯子倒满,我们就这样在状态空间中搜索,直到check通过。由于是根据倒水的次数进行的层次搜索,所以最终确定的倒水次数一定是最少的次数。这道题竟然因为“NO”的“O”没有大写被卡,心态爆炸,什么是否能
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

Android中ANR的触发机制-BroadcastReceiver篇

个人博客 http://www.milovetingting.cn Android中ANR的触发机制-BroadcastReceiver篇 上一篇分析了Service中的ANR触发机制,这一篇来分析BroadcastReceiver的ANR触发机制。 触发机制分析 附上时序图 注册过程 要分析BroadcastReceiver的ANR机制,先来看BroadcastReceiver的register过程,静态注册这里不作分析。 不管Activity还是Service中的registerRecei
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

github资源使用--程序员必备

目录 关注一些活跃的大牛 Trending Search 其它 GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目,你没事的时候刷刷微博、知乎,人家没事的时候刷刷 GitHub ,看看最近有哪些流行的项目,久而久之,这差距就越来越大,那么如何发现优秀的开源项目呢? 1. 关注一些活跃的大牛 2. Trending 还可以设置时间,语言等进行检索。 3. Search 可以看到按照 star 数,排名靠前基本是一些比较火的项目,一定是很有用,才会这么火。值得一提的是左侧依然可以选择
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

node插件

node插件 nodemon 一个node插件,检测代码实时变化并编译 安装:npm install -g nodemon 运行:nodemon filepath nrm 设置镜像 使用nrm管理 设置原地址 npm config set registry http://registry.npmjs.org 设置国内淘宝镜像 npm config set registry https://registry.npm.taobao.org 使用nrm管理 npm i -g nrm nrm -ls
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

Leetcode-每日刷题0316

今天晚上做了三道题,不过现在有点晚了,自己晕乎乎的。 先把题目放上来,明天好好总结一下! 1. 【剑指offer-14】剪绳子 2. 【剑指offer】机器人的运动范围 3. 【剑指offer】一次编辑
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0

问题 A: DES对称加密算法

题目描述 参考相关文献,设计一个DES对称加密算法。并编写一个控制台应用予以验证。密钥设定为:@1234567。 class Program{ //验证DES加密算法 static void Main(string[] args){ Console.WriteLine(Class1.ECP("[email protected]&!")); } } public class Class1 { //下面ECP方法功能为采用对称加密算法 //该算法原理请大家百度 const string KEY_64 = "@123
分类: 其他 发布时间: 03-16 23:34 阅读次数: 0