Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

最近杂事太多,又是组织架构调整,又是换工作,最近终于有空能写下这边文章了。 tc (Traffic Controll) 作为linux中的流量控制工具,功能非常强大,可以对网络流量的速率、延迟、带宽等进行控制。本文主要介绍tc命令的结构和使用,多数内容来自于对参考文章的翻译和整理,并增加了一些解释和说明,帮助大家在工作中能够快速理解和使用该命令。 什么是tc命令?一言以蔽之,tc是lin...

什么是线程中断从广义上讲,就是中断一个正在工作或sleep的线程,从代码上讲, 所谓的线程中断,就是设置某个线程的中断标志位,当我想要中断某个线程的时候,就将这个线程的中断标志位设置为true, 但是至于是否响应中断,全凭JVM或这个线程自己决定。 为什么要有中断 一种常见的用途是用于线程池的shutdown方法, 如果你去查看ThreadPoolExecutor的shutdown方法方法...
Java

本文会简单介绍Java异常的分类, 以及在使用异常过程中的一些注意事项。 异常的分类Java异常是JVM应对错误的一种方式,无论是编译时错误、运行时错误、还是JVM内部错误,它的分类如下: Java的Exception和Error都继承自Throwable, Exeception包括CheckedExeception和UncheckedException,其中CheckedExcept...
Java

问题背景​ 前两天有同事咨询:机器A上有个业务客户端,机器B上为服务端,服务端要定期探活客户端,当客户端访问不通时服务端应当摘除这个客户端节点。现在要验证下当客户端访问不通时服务端能否正常摘除节点,于是使用了iptables的ip封禁功能。在机器A上封禁机器B的ip后,在封禁期间服务B无法请求服务A,但是当取消机器A上的ip封禁后,服务B尽然收到了来自服务A的响应! ​ ...

前言限流是微服务应用中一个老生常谈的话题,当A调B时,为了防止A的流量过大把B打垮,需要为B配置限流,限制上游应用对B的调用频率。关于限流算法,有漏桶算法、令牌桶算法、计数器算法、滑动窗口算法,本文不再赘述。本文主要讲解guava中的限流算法。 用法guava限流算法实现的是令牌桶算法,依赖于包 12345<dependency> <groupId>com.go...
Java

DelayQueue作为延时队列,有很多应用场景,今天主要来聊一下它的原理、优缺点以及应用场景。 基本用法DelayQueue的元素需要实现Delayed接口, 并覆盖getDelay方法和compareTo方法,其中getDelay方法会被轮询调用,以判断当前任务是否到达执行时间,comparedTo方法则是用来比较每个任务的先后关系。 基本用法如下: 1234567891011121...
Java

基本用法Java提供了泛型,可以在编译期做一些类型检查。以集合类List为例,如果我们这样用: 123456789101112public class GenericApp { public static void main(String[] args) { List list = new ArrayList(); list.add(1)...
Java

温馨提示: 本文需要垃圾回收、强弱引用、多线程等知识. ThreadLocal是什么ThreadLocal, 从名字大概可以知道,它是个线程本地变量,意味着只有当前线程可以使用,线程之间相互隔离。 举个🌰: 123456789101112131415161718192021222324public class ThreadLocalApp { public static...

前情提要在Netty学习笔记之服务端启动一文中,我们了解了eventloop的基本功能,知道了它的一生其实就是个死循环,再循环里处理IO事件和taskQueue里面的任务;同时我们也了解到,在服务端启动之初(准确的来讲是在channel注册完成之后调用handlerAdded的时候)会给pipeline里添加一个特殊的handler:ServerBootstrapAcceptor,有了这两点...
Java

在上一篇文章中,讨论了netty服务端启动的大概流程,这篇文章将会继续看下客户端启动流程。 总览一般的客户端长这样,真正的入口要从bootstrap.connect看起。 分析进入connect方法的最终调用在这里: 如果已经看过服务端启动流程,会发现这里和服务端的代码神似,都是先initAndRegister,如果注册成功,则直接执行doResolveAndConnect0,否...
Java

1 / 10