【计算机网络】可靠传输
1.基本概念
2.三种可靠传输的实现机制
2.1停止-等待协议SW
2.1.1 错误状况
2.1.1.1确认与否认
2.1.1.2 超时重传
2.1.1.3 确认丢失
2.1.1.4 确认迟到
2.1.2 停止-等待协议的信道利用率
2.1.3 总结
2.2 回退N帧协议GBN
2.2.1 无差错情况
2.2.2 累计确认
2.2.3 有差错情况
2.2.4 发送窗口尺寸问题
2.2.5 总结
2.3 选择重传协议SR
1.基本概念
使用差错检测技术
(例如循环冗余校验CRC),接收方的数据链路层用过帧尾中的帧检验序列FCS字段的值就可检测出帧在传输过程中是否产生了误码
(比特错误)。 当产生误码时接收方的数据链路层是否丢弃帧取决于数据链路层向上层提供的服务类型:
不可靠传输服务
:仅仅丢弃有误码的帧 ,其他什么也不做;
可靠传输服务
:想办法实现发送端发送什么,接收端就收到什么 。
一般情况下,有线链路
的误码率比较低,为了减小开销,并不要求数据链路层 向上提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理。 无线链路
易受干扰,误码率比较高,因此要求数据链路层 必须向上层提供可靠 传输服务。 比特差错
只是传输差错中的一种。 从整个计算机网络体系结构来看,传输差错还包括分组丢失
、分组失序
以及分组重复
。 分组丢失、分组失序以及分组重复这些传输差错,一般不会出现在数据链路层,而会出现在其上层。 可靠传输服务并不仅局限于数据链路层 ,其他各层均可选择实现可靠传输。(如传输层的UDP和TCP)
因为传输差错并不仅仅局限于数据链路层的比特差错,所以上述定义中传输差错中的称呼为分组。
2.三种可靠传输的实现机制
停止-等待协议SW
回退N帧协议GBN
选择重传协议SR
这三种可靠传输实现机制的基本原理并不仅限于数据链路可以应用到计算机网络体系结构的各层协议中。
2.1停止-等待协议SW
数据分组DATA,确认分组ACK,否认分组NAK
2.1.1 错误状况
2.1.1.1确认与否认
发送方每发送完一个数据后,并不能将该数据分组从缓存中删除,只有收到针对该数据分组的确认分组后,才能将其从缓存中删除(因为此分组可能会出现误码 ) 发送方每发送完一个后,就停止发送下一个数据分组,等待来自接收方的确认分组或否认分组,若收到确认分组,则可继续发送下一个数据分组;若收到否认分组,则重发之前发送的那个数据分组。
2.1.1.2 超时重传
2.1.1.3 确认丢失
因为是回答丢失,数据其实已经传过一遍了,通过序号接收方确定是否为重复分组,如果为重复分组则进行丢弃,并返回确认分组(避免超时重传),发送方收到确认分组后就可以发送下一个分组了。
2.1.1.4 确认迟到
接收方的回答可能会出现迟到状态,当这个时候发送发误认为超时进行超时重传,在他重传后,接收方的回答回应了它的重传操作,同时接收方收到了发送方的重传将其丢弃并返回了确认分组,如下图所示: 为防止遇到这种情况,我们将确认分组也进行编号操作,如下图: 注意,下方的DATA0和上方的DATA0是同一分组,由于下一个分组必须等待上一个分组ack后才能继续传递,所以用序号01确定即可,不需要额外的序号。
小结:
2.1.2 停止-等待协议的信道利用率
图中忽略了接收方对数据分组的处理时延以及发送发对确认分组的处理时延,最下方黑色字体的式子为使用停-等待协议的发送方从发送一个数据分组开始,到可以发送下一个数据分组为止需要耗费的总时间 一般Ta<
当RTT>>TD,信道利用率会非常低
例题
2.1.3 总结
像停止-等待协议SW这种自动发送重传的协议我们称它为自动请求重传
简称为ARQ
2.2 回退N帧协议GBN
回退N帧协议GBN在采用流水线传输发送分组的基础上利用发送窗口限制发送发可连续发送数据分组的个数。(此处是假设采用3比特给分组编序号,并不是值所有的GBN都是只有3bit的分组 )
发送窗口的尺寸记为WT,序号发送窗口内的数据可以连续发送,在窗口外的数据不可以发送,当WT=1,则为停止等待协议,WT的值超过取值范围的上限,则会出现严重错误;
接收窗口的尺寸记为WR,回退N帧协议的Wr只能取1,同停止-等待协议相同,序号落在接收窗口内的数据可以接收,数据落在接收窗口外的数据不能够接收;
2.2.1 无差错情况
发送方将序号落在发送窗口内的0~4号数据分组依次连续发送出去,成功到达接收方,每接收一个,接收窗口就向前滑动一个位置,并给发送发针对所接收分组的确认分组。 当发送方收到确认分组,则可将收到确认的数据分组从缓存中删除; 接收方则将接收到的分组交付给上层处理。
2.2.2 累计确认
下图当接收方接收到序号为0和1的数据分组后给发送方发送一个累计确认ACK1,接收完成2~4后给发送发发送一个累计确认ACK4 若在传输过程中ACK1丢失,则接收方知道,序号为4及之前的数据分组被接收方正确接收了,于是将发送窗口向前滑动5个位置 所以采用累计确认的优点为:
即使确认分组丢失,发送法也可能不必重传
减少接收方开销
减少对网络资源的占用
如果ACK4丢失,则同停止-等待协议中一样有超时重传操作。
2.2.3 有差错情况
五号出现误码,则接收方丢弃该分组 后续到达的四个分组的序号和接收方的接收窗口序号不匹配,接收方同样不能接受他们,将它们丢弃,并对之前按需接收的最后一个数据分组进行确认,也就是发送ACK4 每丢弃一个分组就发送一个ACK4 发送发这次发送了5~1号帧,由于5号帧出现误码,后面的帧都没有收到,所以这次直接重传这5帧; 如果7号帧出现误码,则这次要重传7~1号帧
2.2.4 发送窗口尺寸问题
若Wt超过取值范围,例如Wt=8,会出现分组重复传输差错。
例题
2.2.5 总结
2.3 选择重传协议SR
不同于GBN的是,SR中发送窗口的尺寸是在二的三减一次方以内(而不是二的三次方减一),且SR的接收窗口的取值同发送窗口一致。 发送方将发送窗口内数据分组依次连续发出,它们经过互联网到达接收方,但其中二号数据丢失,只要序号落入接收窗口内且无误码的数据分组,接收方都会接收(接收方机能接收按序到达无误码的,又能接收失序到达无误码的 ) 接收方接收0、1号分组并发送确认分组,接收窗口向前滑动; 接收方接收3号分组并发送3号确认分组,但接收窗口不能向前滑动,因为3号数据分组是未按序到达的数据分组; 发送发每收到一个确认分组,就向前滑动一个位置,发送发接收0、1号确认分组,向前滑动,由于不存在2号确认分组,所以发送窗口停止在2,然后将0、1号数据分组的缓存删除,接收方也将0、1号分组交给上层处理; 发送方接收3号确认分组,但发送窗口不能向前滑动,发送方还未收到2号确认分组,不过需要记录3号数据分组已收到确认,这样3号分组不会超时重发 4号5号分组达到接收方,接收方发送4号5号确认分组,但接收窗口不能向前滑动,因为它们是未能按序到达的分组,接收方还未收到2号数据分组 如果在4号和5号确认分组传输过程中 ,发送发进行2号超时重传 4号5号确认分组到达,因为2号确认分组没有到达,发送窗口依旧不能向前滑动,不过可以记录4、5号数据分组已收到确认,发送窗口外的数据无法发送,发送窗口等待2号确认分组 当2号到达接收方,滑动窗口向前滑动4个位置,接收方发送2号确认分组 2号确认分组到达发送方,发送窗口前移4个位置
2.3.1 发送窗口尺寸问题
可以看见,下图中接收窗口已经向前移动5,并包含新的序号为0的接收窗口 同样的,也会出现分组重复传输差错
例题
2.3.2 总结
链接: 湖科大教书匠:计算机网络微课堂 本文是湖科大教书匠的计算机网络笔记,感谢大家的观看,求点赞求收藏求评论 欢迎大家关注我的账号:黑城笑 更多技术分享等待大家
你可能感兴趣的:(#,计算机网络,网络,网络协议)
计算机网络进化论:从比特流到量子通信的深层解构
ox0080
# 北漂+滴滴出行 VIP 激励 网络 计算机网络
第一章物理媒介与链路层(1960-1970)1.1比特流物理编码//曼彻斯特编码实现vectormanchester_encode(uint8_tbyte){vectorbits;for(inti=7;i>=0;--i){boolbit=(byte>>i)&1;bits.push_back(bit);//前半周期bits.push_back(!bit);//后半周期}returnbits;}物理层
大数据和人工智能概念全面解析
就犯得上方法
一、大数据和人工智能大数据是伴随着信息数据爆炸式增长和网络计算技术迅速发展而兴起的一个新型概念。根据麦肯锡全球研究所的定义,大数据是一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。大数据能够帮助各行各业的企业从原本毫无价值的海量数据中挖掘出用户的需求,使数据能够从量变到质变,真正产生价值
DeepSeek的实际应用场景:AI技术如何赋能多领域创新
2501_91189350
人工智能
DeepSeek作为新一代智能技术平台,凭借其强大的算法能力和灵活的部署方式,正在多个行业掀起效率革命。本文将从真实案例出发,解析DeepSeek在不同场景中的落地应用。场景一:金融风控建模在信贷风险评估领域,传统模型存在数据维度单一、更新滞后等问题。某银行引入DeepSeek的动态特征工程模块,通过实时整合用户行为数据、社交网络信息等100+维度特征,成功将坏账识别准确率提升至98.5%
pip download 是一个很有用的命令
weixin_46375180
pip
确实,pipdownload是一个很有用的命令,通常用于下载包到本地以供离线安装或在网络不稳定时使用。以下是关于pipdownload的详细介绍:pipdownload命令下载指定的包:使用pipdownload可以下载指定的包,而不安装它。例如,下载numpy包:pipdownloadnumpy下载指定版本的包:你可以指定要下载的包的版本:pipdownloadnumpy==1.21.0下载并指
Docker
DRUN_K
docker 容器
DockerDocker架构的工作流程构建镜像:通过编写dockerfile来进行构建推送镜像到仓库:将镜像上传到DockerHub或私有注册表中拉取镜像:通过dockerpull从从仓库中拉取镜像运行容器:使用镜像创建并启动容器管理容器:使用Docker客户端命令管理正在运行的容器,如查看日志、停止容器、查看资源使用情况等网络与存储:容器之间通过Docker网络连接,数据通过Docker卷或绑定
linux网络编程(二)
Zhuai-行淮
linux网络编程 linux 网络 服务器
day14多路IO转接:select:poll:相比select相差不多intpoll(structpollfd*fds,nfds_tnfds,inttimeout);-----fds:监听的文件描述符【数组】------structpollfd{intfd:待监听的文件描述符shortevents:待监听的文件描述符对应的监听事件取值:POLLIN、POLLOUT、POLLERR可读事件:POL
【大模型科普】AIGC技术发展与应用实践(一文读懂AIGC)
人工智能
【专栏介绍】⌈⌈⌈人工智能与大模型应用⌋⌋⌋人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT),经海量数据训练后能完成文本生成、图像创作等复杂任务,显著提升效率,但面临算力消耗、数据偏见等挑战。当前正加速与教育、科研融合,未来需平衡技术创新与伦理风险,推动可持续发展。文章目录一、AIGC概述(一)什么是
ESP8266 与 ARM7 接口-LPC2148 创建 Web 服务器以控制 LED
David WangYang
ESP8266项目 服务器 运维
ESP8266与ARM7接口-LPC2148创建Web服务器以控制LEDESP8266Wi-Fi收发器提供了一种将微控制器连接到网络的方法。它被广泛用于物联网项目,因为它便宜、体积小且易于使用。在本教程中,我们将ESP8266Wi-Fi模块与ARM7-LPC2148微控制器连接,并创建一个Web服务器来控制连接到LPC2148的LED。工作流程将如下所示:从LPC2148向ESP8266发送AT命
热点研究 | OpenAI 重磅发布 Agents SDK,人人都能手搓 Manus?
Ai野生菌
技术面 php 开发语言 manus openai agent
3月12日,OpenAI正式发布了OpenAIAgentsSDK,这一重要发布不仅为开发者提供了强大的工具,更预示着AIAgent技术即将进入快速发展期。这些工具为开发者提供更强大功能,使代理能够独立执行复杂任务,如搜索网络、处理文件和自动化计算机操作。ResponsesAPI同步发布,为开发者提供了构建自定义AIAgent的能力,能够执行网络搜索、文件检索等任务。这套新工具和API旨在赋能开发者
本周安全速报(2025.3.11~3.17)
联蔚盘云
安全
合规速递01瑞士出台新规:关基设施遭遇网络攻击需在24小时内上报原文:https://www.bleepingcomputer.com/news/security/swiss-critical-sector-faces-new-24-hour-cyberattack-reporting-rule/新规要求,关键基础设施组织发现网络攻击后,首次报告需在24小时内完成,详细报告需在后续14天内完成,未
httpcanary动态注入_HttpCanary
weixin_39760721
httpcanary动态注入
HttpCanary是一款功能十分强大网络抓包工具,它可以分析多个协议HTTP、https、http2等,这是一款最新的专为移动端设计的抓包工具,用户可以根据这个工具来应用,使用非常的简单,一学就会。对这款HttpCanary感兴趣的用户点击下载就可以使用啦!软件介绍HttpCanary是一款功能齐全的互联网包抓取和分析工具,相当于是移动端的Fiddler或是Charles,可是HttpCanar
httpcanary小米 闪退_Android HttpCanary最强抓包工具!
ssslience
httpcanary小米 闪退
迎使用HttpCanary——最强Android抓包工具!HttpCanary是一款功能强大的HTTP/HTTPS/HTTP2网络包抓取和分析工具,你可以把他看成是移动端的Fiddler或者Charles,但是HttpCanary使用起来更加地简单容易,因为它是专门为移动端设计的!最重要的是:无需root权限!无需root权限!无需root权限!HttpCanary支持对HTTP协议包的抓取和注入
httpcanary动态注入_HttpCanary使用指南——正则匹配注入
火锅大魔王
httpcanary动态注入
HttpCanary于v2.11.0版本上线了正则匹配注入功能。顾名思义,就是使用正则表达式或者匹配字符串,动态修改网络请求数据中的部分数据。举个例子:{"date":"30日星期天","high":"高温30℃","fengli":"","low":"低温23℃","fengxiang":"西南风","type":"多云"}复制代码我们希望将网络请求体中这段数据中的符号℃修改为中文摄氏度,即:{
Hyperlane:Rust 生态中的轻量级高性能 HTTP 服务器库,助力现代 Web 开发
LTPP
rust http 服务器 开发语言 后端 前端 面试
Hyperlane:Rust生态中的轻量级高性能HTTP服务器库,助力现代Web开发在Rust生态系统中,Hyperlane是一个备受关注的HTTP服务器库,以其轻量级、高性能和易用性脱颖而出。无论你是想快速构建一个高效的Web服务,还是需要支持实时通信的现代应用,Hyperlane都能成为你的理想选择。它不仅简化了网络服务的开发,还提供了强大的功能支持,如HTTP请求解析、响应构建、TCP通信,
基于 KubeSphere v4 的 Kubernetes 生产环境部署架构设计及成本分析
KubeSphere 云原生
kubernetes 容器 云原生
本文作者:运维有术。今天分享的主题是:如何规划设计一个高可用、可扩展的中小规模生产级K8s集群?通过本文的指导,您将掌握以下设计生产级K8s集群的必备技能:集群规划能力合理规划节点规模和资源配置设计高可用的控制平面、计算平面、存储平面架构规划网络拓扑和安全策略制定存储解决方案组件选型能力选择适合的容器运行时(ContainerRuntime)评估和选择网络插件(CNIPlugin)规划监控、日志等
【前端】面试八股文——输入URL到页面展示的过程
帅比九日
面试八股文 前端 面试 javascript
【前端】面试八股文——输入URL到页面展示的过程1.DNS解析当用户在浏览器中输入URL并按下回车时,首先需要将域名转换为IP地址,这个过程称为DNS(域名系统)解析。具体步骤如下:浏览器缓存:浏览器首先检查自身缓存中是否有该域名的IP地址。操作系统缓存:如果浏览器缓存中没有找到,浏览器会向操作系统请求DNS信息。路由器缓存:如果操作系统缓存也没有找到,操作系统会向本地网络中的路由器请求DNS信息
NLP高频面试题(三)——普通RNN的梯度消失和梯度爆炸问题
Chaos_Wang_
NLP常见面试题 自然语言处理 rnn 人工智能
普通RNN(循环神经网络)的梯度消失和梯度爆炸问题是指在训练深层或长序列的RNN模型时出现的两种典型问题:一、梯度消失(VanishingGradient)梯度消失是指在反向传播过程中,梯度逐层传播时变得越来越小,最终趋于接近0,导致模型前层的参数难以更新。原因:在反向传播时,每一层的梯度是通过链式法则计算得到的。因为链式求导中不断乘以一个较小的数值(小于1),随着层数或时间步的增加,梯度将指数级
信息收集综合
只不过是胆小鬼罢了
信息收集 php web安全 安全
1《应用服务器资产分析与角色定性详解》在网络安全领域,对应用服务器的资产分析与角色定性是至关重要的工作。通过对服务器的操作系统、IP资产、端口资产等方面进行详细分析,可以更好地了解服务器的特性与用途,从而为网络安全防护提供有力支持。本文将从多个维度深入探讨应用服务器的资产分析与角色定性方法。一、操作系统分析1.Web大小写敏感性在分析应用服务器的操作系统时,Web大小写敏感性是一个重要的参考因素。
2025年计算机毕业设计springboot 智慧社区管理系统
zhihao503
课程设计 spring boot 后端
本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景关于智慧社区管理系统的研究,现有成果多聚焦于单一功能模块的数字化(如物业缴费或门禁系统),缺乏对多场景服务整合与用户体验优化的系统性研究。国外研究侧重物联网技术应用(如新加坡“智慧国”计划中的社区传感器网络),而国内研究更多关注管理平台的基础框架设计,但针对业主、物业、设备多方
Kafka 数据写入问题
喝醉酒的小白
DBA kafka 分布式
目录标题分析思路1.**生产者配置问题**:Kafka生产者的配置参数生产者和消费者的处理确定并优化2.**网络问题**:3.**Kafka集群配置问题**:unclean.leader.election.enable4.**Zookeeper配置问题**:5.**JVM参数调优**:6.**副本因子和同步复制**:分析思路针对您提到的Kafka数据写入问题,以下是一些具体的原因和排查命令:1.生
微信小程序面试内容整理-图片优化
不务正业的猿
面试 微信小程序 前端 微信小程序 notepad++ 小程序 面试 职场和发展
在微信小程序中,图片优化是提升加载速度、节省网络带宽和提高用户体验的重要步骤。图片通常是小程序页面中的主要资源,合理的图片优化能显著提高小程序的性能,尤其是在用户网络状况较差的情况下。1.选择合适的图片格式不同的图片格式有不同的特点,选择合适的格式能够有效减小图片的大小,同时保证图片质量。
eNSP-DHCP服务
2022级计算机网络一班何宏超
网络 服务器 linux
DHCP:动态主机配置协议DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)DHCP用途:用来分配IP地址等网络参数一、基于全局地址池的DHCP服务器1、在R1上配置G0/0/1的IP地址[R1]intg0/0/1[R1-GigabitEthernet0/0/1]ipadd192.168.100.254242、创建全局地址池[R1]ippoolpool1
计算机端口的作用
U_p_
计算机网络知识 运维 服务器 windows linux
计算机端口的作用在计算机网络中,端口(Port)的作用是用于区分不同的网络服务和应用进程,使得计算机能够在同一个IP地址上同时运行多个网络服务。1.端口的基本概念端口是软件层面的概念,用于标识同一设备上的不同网络服务。端口号是0~65535之间的整数,由操作系统管理。端口号通常与IP地址结合使用,形成IP:端口(如192.168.1.1:80)来标识特定的网络服务。2.端口的分类端口号范围:0-6
「TCP/IP」图解TCP的通信机制
肥肥技术宅
java tcp/ip 网络 网络协议
TCP(TransmissionControlProtocol)是传输控制协议,其作用于传输层,是一种提供了面向连接通信服务的协议看TCP的英文全称就知道,其主要作用就是传输、控制,传输的是数据,控制的是在传输过程中丢包后的重发、分包乱序后的有序重组、控制数据传输的速率防止网络拥塞等这也是我们口中一直说的TCP是一种可靠的传输协议的原因。本文就将对TCP的作用过程以及一些机制进行讲解TCP的通信机
从数据中心机房来看云服务器的可用性与性能!
数据中心云服务器
数据中心机房是云服务器的物理承载基础,机房的硬件设施、运行环境和管理水平直接影响云服务器的可用性和性能表现。了解数据中心机房,明白哪些因素可能导致云服务器出现故障或性能下降,就能够依据数据中心机房的实际情况做出更明智的决策,保障自身业务的稳定运行。数据中心机房的硬件设施是保障云服务器可用性的基础。网络设备作为数据传输的桥梁,高性能的路由器、交换机等确保了数据的快速、准确传输。电力供应则是云服务器运
HTTP 408 Request Timeout 请求超时,远程 GitHub 服务器断开了连接
linff911
http github 服务器
你的gitpush遇到了HTTP408RequestTimeout错误,说明请求超时,远程GitHub服务器断开了连接。解决方法:检查你的网络(1)测试GitHub是否正常pinggithub.com如果返回:Requesttimedout.说明你的网络连接GitHub有问题,建议:尝试换个网络(如手机热点)使用VPN连接GitHub稍后再试如果网络没有问题,修改Git连接方式(1)使用SSH代替
深入学习 DNS 域名解析
dns解析
一、前言在平时工作中相信大家都离不开DNS解析,因为DNS解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。二、DNS是什么DNS(域名系统DomainNameSystem),它是一个记录域名和Ip地址相互映射的一个系统,是互联网的“电话簿”,负责将人类可读的域名(如example.com)转换为机器可识别的IP地址(如
企业数据存储的几种方式对比
存储
在当今信息化时代,企业常见的数据存储方式包括本地存储、云存储、网络附加存储(NAS)、对象存储等,它们在安全性、扩展性与成本方面各有优势。其中,云存储凭借高弹性、低维护成本等特点备受青睐。它利用网络将数据托管于远程服务器,企业无需自建机房,也能快速扩容并进行全球化部署,极大降低了初期投入成本。这种方式实现了随用随付、自动备份,为众多中小型企业提供了便捷且经济的选择。一、本地存储本地存储是指企业将数
深度革命:ResNet 如何用 “残差连接“ 颠覆深度学习
安意诚Matrix
机器学习笔记 深度学习 人工智能
一文快速了解ResNet创新点在深度学习的历史长河中,2015年或许是最具突破性的一年。这一年,微软亚洲研究院的何恺明团队带着名为ResNet(残差网络)的模型横空出世,在ImageNet图像分类竞赛中以3.57%的错误率夺冠,将人类视觉的识别误差(约5.1%)远远甩在身后。更令人震撼的是,ResNet将神经网络的深度推至152层,彻底打破了"深层网络无法训练"的魔咒。这场革命的核心,正是一个简单
QT多媒体播放器类:QMediaPlayer
程序先锋
QT界面开发 qt 开发语言
QMediaPlayer是QtMultimedia模块中的核心类,用于播放音频和视频媒体文件。它支持本地文件、网络流媒体以及实时数据源,具备播放控制、状态管理、元数据访问等功能。QMediaPlayer的基本用法可能包括设置媒体源、控制播放(播放、暂停、停止)、调整音量、监听播放状态变化等。1.信号(Signals)信号用于通知外部对象播放器状态、媒体属性和错误事件的变化。(1)媒体改变voidm
Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
 
XSD和XML中的命名空间
darrenzhu
xml xsd schema namespace 命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
Java 求素数运算
周凡杨
java 算法 素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
 
mongodb 环境搭建及简单CURD
antlove
Web Install curd NoSQL mongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
数据字典和动态视图
百合不是茶
oracle 数据字典 动态视图 系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
多线程编程一般规则
bijian1013
java thread 多线程 java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linux unix scp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
cookie状态判断引发的查找问题
bitcarter
form cgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
看别人的博客,觉得心情很好
Cb123456
博客 心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
[JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
正则表达式验证日期格式
dashuaifu
正则表达式 IT其它 java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
判断一个数是质数的几种方法
EmmaZhao
Math python
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
JS实现自适应宽度的Tag切换
ini
JavaScript html Web css html5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
Hbase Rest API : 数据查询
kane_xie
REST hbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jquery js 源码 拖动 鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
将redis,memcache结合使用的方案?
tcrct
redis cache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key