上一页 1 2 3 4 5 6 ··· 14 下一页
摘要:一.TCP特性概览 1.面向连接 TCP是基于连接进行数据交互,通信双方在进行数据交互之前需要建立连接,该连接也只能用在双方之间进行交互。这点不像UDP中的组播和广播,可以在同一组中多个主机交互数据。这也是导致TCP协议的复杂性的因素之一,建立连接涉及到三次握手和四次挥手的过程。 2.可靠性保证 1 阅读全文
posted @ 2019-04-02 16:12 怀瑾握瑜XI 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:一.前言 众所周知,netty是高性能的原因源于其使用的是NIO,但是这只是其中一方面原因, 其IO模型上决定的 。另一方面源于 其线程模型的设计 ,良好的线程模型设计,能够减少线程上下文切换,减少甚至避免锁的竞争(无锁化设计)带来的开销。 本篇文章将介绍netty的线程模型设计,主要从以下几个方面 阅读全文
posted @ 2019-02-25 14:59 怀瑾握瑜XI 阅读(2103) 评论(0) 推荐(0) 编辑
摘要:一.前言 虽然TCP协议是可靠性传输协议,但是对于TCP长连接而言,对于消息发送仍然可能会发生粘贴的情形。主要是因为TCP是一种二进制流的传输协议,它会根据TCP缓冲对包进行划分。有可能将一个大数据包拆分成多个小的数据包,也有可能将多个小的数据包合并成一个数据包。 本篇文章将对TCP粘包和拆包进行介 阅读全文
posted @ 2019-02-20 11:00 怀瑾握瑜XI 阅读(151) 评论(0) 推荐(0) 编辑
摘要:一.前言 由于在通信层的网络连接的不可靠性,比如:网络闪断,网络抖动等,经常会出现连接断开。这样对于使用长连接的应用而言,当突然高流量冲击势必会造成进行网络连接,从而产生网络堵塞,应用响应速度下降,延迟上升,用户体验较差。 在通信层的高可用设计中,需要保活长连接的网络,保证通信能够正常。一般有两种设 阅读全文
posted @ 2019-02-19 15:33 怀瑾握瑜XI 阅读(399) 评论(0) 推荐(0) 编辑
摘要:一.前言 在之前的文章中介绍过分布式锁的特点和利用Redis实现简单的分布式锁。但是分布式锁的实现还有很多其他方式,但是万变不离其宗,始终遵循一个特点: 同一时刻只能有一个操作获取 。这篇文章主要介绍如何基于zookeeper实现分布式锁。 zookeeper能够作为分布式锁实现的基础 算法流程 实 阅读全文
posted @ 2019-02-16 11:22 怀瑾握瑜XI 阅读(267) 评论(0) 推荐(0) 编辑
摘要:一.前言 前文学习了各种GC回收算法,掌握了GC回收的原理,但是真正的GC实现却尤为复杂,本篇文章将主要介绍各种GC收集器。 目前主流的HotSpot VM支持多种虚拟机,这些虚拟机也体现了GC的发展历程,从单线程GC到多线程GC,分代GC到G1 GC。 本文主要从以下几个方面介绍GC收集器: 各种 阅读全文
posted @ 2019-02-14 13:49 怀瑾握瑜XI 阅读(570) 评论(0) 推荐(0) 编辑
摘要:一.前言 从本篇文章开始,将开始一个新的系列 JVM 。JVM是一个非常庞大且复制的技术体系,但是对于程序猿的升级,走向更高阶所必要经历的,曾经也下决心要好好学习一番,然而毅力不足都中途放弃。 GC的作用就是回收垃圾,但是要做到做点必须要解决两个问题: 1. 如何确定哪些是垃圾 2. 怎样回收垃圾 阅读全文
posted @ 2019-02-13 14:35 怀瑾握瑜XI 阅读(382) 评论(1) 推荐(0) 编辑
摘要:前言 前两篇文章都是从github wiki中翻译而来,旨在能够快速了解和上手使用Disruptor。但是为了能够掌握该技术的核心思想,停留在使用层面还远远不够,需要了解其设计思想,实现原理,故这篇从源码层面分析其实现原理。 Disruptor中的术语非常多,这个在系列的第一篇已经介绍 "disru 阅读全文
posted @ 2019-02-11 16:52 怀瑾握瑜XI 阅读(582) 评论(0) 推荐(0) 编辑
摘要:本文译自Dirsruptor在github上的wiki中文章: "Getting Started" 获取Disruptor Disruptor jar包可以从maven仓库 "mvnrepository" 获取,可以将其集成进项目的依赖管理中。 编写事件处理生产者和消费者 为了学习Disruptor 阅读全文
posted @ 2019-01-25 11:31 怀瑾握瑜XI 阅读(2236) 评论(1) 推荐(0) 编辑
摘要:本文翻译自Disruptor在github上的wiki文章 "Introduction" ,原文可以看这里。 一.前言 作为程序猿大多数都有对技术的执着,想在这个方面有所提升。对于优秀的事物保持积极学习的心态,并发编程是开发中一大难题,无论是底层的各种理论还是上层的各种关于并发组件的实现,都非常的晦 阅读全文
posted @ 2019-01-24 17:09 怀瑾握瑜XI 阅读(839) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 14 下一页