TCP流量控制、拥塞控制

一:流量控制什么是流量控制?流量控制的目的?如果发送者发送数据过快,接收者来不及接收,那么就会有分组丢失。为了避免分组丢失,控制发送者的发送速度,使得接收者来得及接收,这就是流量控制。流量控制根本目的是防止分组丢失,它是构成TCP可靠性的一方面。如何实现流量控制?由滑动窗口协议(连续ARQ协议)实现。滑动窗口协议既保证了分组无差错、有序接收,也实现了流量控制。主要的方式就是接收方返回的 ACK 中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送。流量控制引发的死锁?怎么避免死锁的发...阅读全文

简洁又快速地处理集合——Java8 Stream(上)

Java 8 发布至今也已经好几年过去,如今 Java 也已经向 11 迈去,但是 Java 8 作出的改变可以说是革命性的,影响足够深远,学习 Java 8 应该是 Java 开发者的必修课。今天给大家带来 Java 8 Stream 讲解,为什么直接讲这个,是因为只要你学完,立刻就能上手,并能让它在你的代码中大展身手。值得注意的是:学习 Stream 之前必须先学习 lambda 的相关知识。本文也假设读者已经掌握 lambda 的相关知识。本篇文章主要内容:介绍 Stream 以及 Str...阅读全文

知乎 2018-08-17 00:00 知乎

Jackson 快速入门 - 捏造的信仰

捏造的信仰 2.3k Jackson 快速入门 java jackson json 发布于 7月14日 本文是对 Jackson 的快速入门介绍,主要分为四部分: 基本使用 基础配置 自定义序列化/反序列化 对泛型的处理 上面这几个话题足以覆盖日常开发的场景了。限于篇幅所限,本文力求读者读完后能掌握 Jackson 在日常使用中的绝大部分场景,以及了解如何着手探索 Jackson 的深层定制。 基本使用 引入 Jackson 本文假设读者熟悉 Maven 的使用,那么只需要在项目中添加下面的依赖...阅读全文

SegmentFault 思否 2020-09-02 10:51 SegmentFault 思否 等

Hadoop中的Mapper和Reducer数量设定

在对Mapper调优的过程中,一个经验法则是: map任务最好拥有一分钟以上的运行时间。 因为如果任务运行时间过短,将导致在整个作业的执行过程中任务启动所花费的时间过大,从而降低了实际的任务执行效率。 对map任务的运行时间影响最大的是Mapper的个数,不过与Reducer不同,Mapper的个数是无法显示指定的。 调节Mapper数量的一种方式是设置参数mapred.jobtracker.maxtasks.per.job, 但其只能限制每个job中并发运行的map或reduce任务的上限,而...阅读全文

Summer is Green 2020-08-31 10:33 Summer is Green

Hadoop集群(第6期)_WordCount运行详解 - 虾皮

1、MapReduce理论简介   1.1 MapReduce编程模型   MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。   在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的...阅读全文

博客园 2012-05-16 16:20 博客园

hadoop中MapReduce多种join实现实例分析-蚂蚁

一、概述    对于RDBMS中的join操作大伙一定非常熟悉,写sql的时候要十分注意细节,稍有差池就会耗时巨久造成很大的性能瓶颈,而在Hadoop中使用MapReduce框架进行join的操作时同样耗时,但是由于hadoop的分布式设计理念的特殊性,因此对于这种join操作同样也具备了一定的特殊性。本文主要对MapReduce框架对表之间的join操作的几种实现方式进行详细分析,并且根据我在实际开发过程中遇到的实际例子来进行进一步的说明。二、实现原理1、在Reudce端进行连接。    在R...阅读全文

51CTO博客 2014-04-09 17:05 51CTO博客

Java线程池「异常处理」正确姿势:有病就得治

更多精彩文章。 《微服务不是全部,只是特定领域的子集》 《“分库分表" ?选型和流程要慎重,否则会失控》 这么多监控组件,总有一款适合你 《使用Netty,我们到底在开发些什么?》 《这可能是最中肯的Redis规范了》 《程序员画像,十年沉浮》 最有用系列: 《Linux生产环境上,最常用的一套“vim“技巧》 《Linux生产环境上,最常用的一套“Sed“技巧》 《Linux生产环境上,最常用的一套“AWK“技巧》 如果你认同这些知识,欢迎关注微信公众号小姐姐味道 ID:xjjdog 假设我们...阅读全文

掘金 2019-07-12 00:00 掘金

UEFI+GPT与BIOS+MBR各自有什么优缺点?

UEFI+GPT最好用64位操作系统。 似乎人人都可以张嘴就说“我懂电脑”,但是总有一些看起来完全不懂但实际上非常基础的东西让“懂”与“不懂”清晰地划清界限。比如UEFI+GPT就是其中之一,那些之前认为自己已经精通电脑的人,遇到这个东西,忽然发现自己连系统都不会装了。 尽管UEFI以及GPT从诞生迄今已经十余年了,但是由于它们的不普及性,导致对于绝大多数人来讲它们是完全陌生的 ,甚至根本就不知道还有这种东西。 但是由于Windows8操作系统的面世,预装Windows8的电脑开始统一采用UEF...阅读全文

maven配置多仓库镜像_行动派

问题场景: 1、国内访问maven默认远程中央镜像特别慢 2、用阿里的镜像替代远程中央镜像 3、大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像 我想达到的目标: 在maven中配置一主一副两个镜像,大部分jar直接通过主镜像可以找到,部分特殊jar在主镜像中找不到时,自动去副镜像中寻找。 我所处的阶段: 修改了maven的全局配置文件setting.xml(其所处位置maven的安装目录maven/apache-maven-3.3.9/conf/settin...阅读全文

CSDN博客_maven配置多个仓库镜像 2017-06-02 11:12 CSDN博客_maven配置多 等

IT之家学院:BIOS、EFI 与 UEFI 详解 - BIOS,EFI,UEFI

感谢IT之家网友 wkdubhe1987 的原创投稿终于又有功夫写点东西分享了,今天谈一下BIOS、EFI和UEFI。前一篇文已经说过BIOS是个程序(详情点此),存储在BIOS芯片中,而现在的新式电脑用的基本都是UEFI启动,早期的过渡电脑用的都是EFI启动。其实EFI或UEFI的一部分也是存储在一个芯片中,由于它们在表面形式、基本功能上和BIOS差不多,所以习惯上我们也把存储EFI/UEFI的芯片叫做EFI/UEFI BIOS芯片,EFI/UEFI也叫做EFI/UEFI BIOS,但在实际上...阅读全文

IT之家 2017-07-29 20:02 IT之家

磁盘性能二三事之—4k对齐

我们先来回顾一下机械硬盘的结构。 机械硬盘主要由盘片(platter)、磁头(head)和相应的控制电路等部分所组成。盘片表面镀有磁性物质,二进制位被存储在这些磁性材料上。硬盘工作时,盘片围绕着一根中心主轴(spindle)旋转,磁头在电路控制下移动到指定位置然后将数据存储或读取出来。 盘片有两个面,都可以储存数据,因此每个磁盘片对应两个读写磁头。如果有N个盘片,就有2N个面,对应2N个磁头。以盘片中心为圆心,把盘片分成若干个同心圆,每一个划分圆的"线条",就称为磁道(track)。所有盘面上半...阅读全文

阿里云开发者社区 2017-08-13 00:00 阿里云开发者社区

Kubernetes如何改变美团的云基础设施?

本文根据美团基础架构部王国梁在KubeCon 2020云原生开源峰会Cloud Native + Open Source Virtual Summit China 2020上的演讲内容整理而成。一、背景与现状Kubernetes是让容器应用进入大规模工业生产环境的开源系统,也是集群调度领域的事实标准,目前已被业界广泛接受并得到了大规模的应用。Kubernetes已经成为美团云基础设施的管理引擎,它带来的不仅仅是高效的资源管理,同时也大幅降低了成本,而且为美团云原生架构的推进打下了坚实的基础,支持...阅读全文

美团技术团队 2020-08-13 00:00 美团技术团队

JDWP 协议及实现 – IBM Developer

byte 1 byte byte 值。 boolean 1 byte 布尔值,0 表示假,非零表示真。 int 4 byte 4 字节有符号整数。 long 8 byte 8 字节有符号整数。 objectID 依据 target Java 虚拟机而定,最大 8 byte Target Java 虚拟机中对象(object)的唯一 ID。这个值在整个 JDWP 的会话中不会被重用,始终指向同一个对象,即使该对象已经被 GC 回收(引用被回收的对象将返回 INVALID_OBJECT 错误。 Ta...阅读全文

developer.ibm.com 2009-05-09 00:00 developer.ibm.c 等