- 博客(16)
- 收藏
- 关注
原创 WebFlux 学习(1)响应式编程简介
在传统的命令式编程模式,程序都是按照人工编写的指令(一般情况下,不考虑重排序)一步一步执行下去,下一步的执行需要等待之前的命令完成,也就是说,这条线程一直是在阻塞、执行中交替进行。无论怎么进行优化代码,提升性能,但是本质上还是需要依赖上一个任务的完成。那么,什么是响应式编程呢?这里引用 wikipedia 上的解释,比较抽象,所以我决定一边使用,一边学习,并一边分享给大家。 响应式编程是就是对于
2018-04-27 16:10:22
9308
2
原创 网络详解 - 传输层(2)TCP 介绍
TCP 协议比较复杂,这篇文章先给大家介绍下 TCP 协议,之后会在分文章介绍 TCP 的流量控制、拥塞控制、可靠交付等。主要特点TCP 协议是面向连接的,传输数据前,必须先建立连接才能发送数据。每一条连接,都面向 2 个端点,所以每个连接都是一对一的。TCP 连接是可靠的,数据通过 TCP 连接传输中会进行差错检测,来确保数据的可靠。TCP 连接支持全双工通信。运行通信双方在任何时候进行双
2018-03-28 10:00:09
841
原创 网络详解 - 传输层(3)网络拥塞控制
网络拥塞(congestion)是指在分组交换网络中传送分组的数目太多时,由于存储转发节点的资源有限而造成网络传输性能下降的情况。当网络发生拥塞时,一般会出现数据丢失,时延增加,吞吐量下降,严重时甚至会导致“拥塞崩溃”(congestion collapse)。通常情况下,当网络中负载过度增加致使网络性能下降时,就会发生网络拥塞。另外一种说法,在网络中,链路带宽、节点的缓存、处理设备都是资源,当对
2018-03-28 09:55:45
6001
原创 网络详解 - 传输层(1)UDP 介绍
UDP,全名:User Datagram Protocol,就是用户数据报协议,是一个简单的面向数据报的传输层协议。 在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。UDP在IP数据报的头部仅仅加入了复用和数据校验(字段)。UDP
2018-02-28 17:43:34
1298
1
原创 网络详解 - 网络层(8)IPv6 简介
IP是互联网的核心,他在20世纪70年代被发明出来,至今也有50年了。IPv4的地址在2011年2月就已经耗尽,已经申请不到新的IP块了。为了解决这个问题,就需要采用更大的IP空间,于是IPv6协议就出来了。 主要的变换有以下几点。更大的地址空间,协议中的地址为有128位,比原先多了2^96倍,从现在的角度看,肯定够用。更加灵活的首部,IPv6定义了许多可选的扩展首部,比IPv4更加灵活,在一
2018-02-28 17:43:07
2023
原创 网络详解 - 网络层(7)NAT & NAPT 网络地址转换协议
现在有很多机器都在一个局域网内,但是这些机器想要访问互联网,但是没有全球的IP地址,又该怎么办该能上网呢。由于限制IPv4的数字限制(32位,大约42亿左右),不可能分配每个人一个全球的IP地址,比如一台电脑,一部手机,或者一个联网的设备,都需要一个IP。原有的IP地址已经不够分配了。所有就会有一大部分设备公用一个IP的情况。为了解决这个问题,当时的人们就提出了 NAT 网络地址转换协议。 从下图
2018-02-07 15:05:26
2436
原创 浅谈 TCP 四次挥手
之前自己学习的网络都是浅尝辄止,最近被人反复问起 TCP 相关的挥手问题的相关问题,有必要整理下自身所学,以提供自己和别人查阅。下图是 TCP 挥手的一个完整流程,这里引用了 tcpipguide 的流程图,更加直观的了解下挥手过程。首先不要被这里的图给迷惑了,因为连接的主动断开是可以发生在客户端,也同样可以发生在服务端。FIN_WAIT1由图可知,当一方接受到来自应用断开连接...
2018-02-07 14:42:42
27261
3
原创 netcat nc 命令
nc 命令是很好用的网络工具。常见参数-4 :强制用IPv4的地址;-6 :强制用IPv6的地址;-h:在线帮助;-i<延迟秒数>:设置时间间隔,以便传送信息及扫描通信端口;-k:保持套接字打开,为多个连接已提供服务;-l:使用监听模式,监控传入的资料;-n:直接使用ip地址,而不通过域名服务器;-p<源端口>:设置本地主机使用的通信端口;-r:指定应该随机选择源端口和/或目标端口
2018-02-01 11:08:51
973
原创 网络详解 - 网络层(5)ICMP 网络控制管理协议
ICMP 协议的出现用于提供网络中数据报的交付机会,反馈异常数据报告。这个协议包含3个字段,类型,代码,校验和(和之前一样,反码求和运算)。 类型主要有两大类报文ICMP差错控制报文和ICMP询问报文。这里只将常用的列举出来,详细内容可以在查看。 https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_mes
2018-01-11 18:02:10
940
原创 网络详解 - 网络层(3)IPv4数据报格式
IP数据报的格式可以说明有哪些功能,通常都是一行32位、4字节来表示数据包的格式,如下图。 Version :版本号现在简介的IPv4,所以版本号固定为4,即0100IHL:Internet Header Length,数据报头部长度,用于标识头部信息长度。长度单位为 4 个字节,不满 4 字节尾部填充0补全。DSCP:Differentiated Services Code Poi...
2018-01-03 16:56:52
941
原创 网络详解 - 网络层(2)IPv4介绍
在整个互联网就是一整个抽象的网络,而 IP 地址就是一个32位的标识符,标记着网络上一个个主机。IP 中包含前部分的网络号来标志这个 IP 是属于哪个网络的网络号,后部分用于来表示这个 IP 的主机号。IP 的历史IP 的划分主要经历了4个阶段 1.IP 的分类 2.子网的划分 3.超网(CIDR)的构建 4.IPv6 的出现(暂不在该文章中讨论)IP 的分类 所谓的分类,就是在常见网络
2018-01-03 14:43:57
1155
原创 网络详解 - 网络层(1)介绍篇
在人们的日常生活中,常见的网络主要提供 2 种服务,无连接和面向连接的虚电路网络,这两大类网络在生活中非常普遍,前者就是一般计算机中使用的Intenet,而后者普遍就是传统电信网(2G|3G|4G)。什么是虚电路网络呢? 虚拟电路(英语:Virtual circuit,缩写为 VC),又称为虚电路、虚连接或虚通道,在分组交换的电脑网络上,交换数据的传输方式之一。它是一种预接式(connectio
2018-01-03 10:08:47
806
原创 Java并发包(java.util.concurrent)阅读(一)ExecutorService ->ThreadPoolExecutor
ExecutorService
2017-03-07 21:33:30
472
原创 浅谈如何学习J2EE、JAVA
我个人是从14年5月份接触到编程,到现在手下带了几个徒弟,并且和他们一起合作搭建了几个项目。近一年的时间,搭建了一个最高负载可以达到千万级别的短信平台,架构后台框架Spring + mybatis,数据库mysql + mongodb + redis,消息队列 rabbitmq,页面框架 freemarker,服务器系统Centos,作为一个大四即将要去找工作的学生,简单谈一下怎么学习JAVA,此片
2016-12-20 16:05:09
608
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人