EffectiveCoding

77 篇文章
14 人订阅

全部文章

邹志全

select /poll/ epoll 对比

poll使用链表保存文件描述符,因此没有了监视文件数量的限制,但其他三个缺点依然存在。

8620
邹志全

线程和进程

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

8250
邹志全

shell -- AWK&文本处理 浅析

markdown 编辑,来写awk真是麻烦 awk 入门: awk 是格式化文本处理最常用的工具,日常捞数据、切数据最常用的,当然了不用awk 也有其他的工...

9620
邹志全

高并发下的限流策略

限流策略通常是用来在高qps下进行流量限制的,常见的方式有计数器、令牌桶、漏桶。在这次活动中我负责的模块是控制的对下游的流量,我们可以让那些请求选择丢弃、等待或...

9610
邹志全

Redis string之SDS源码分析2

上一篇我们看了Redis里面关于新旧版本对于sds的不同的结构体实现,接下来看看sds.c中关于redis动态字符串的具体操作。

5710
邹志全

Redis的事件模型(ae epoll实现方式)

上一篇我们说到了文件描述符及常见的polling机制,下面来看看ae中对于epoll的封装实现。

10220
邹志全

Java Concurrent AQS原理&源码概要(Java 10)

开始说AQS之前,继续说上一篇没说完的建议,相对于看一些不知道时效性的blog,说实话,理解一个知识点最简便的方式就是看论文及源码实现了,解决一个问题最好的方式...

7330
邹志全

Java Concurrent 偏向锁&轻量级锁&重量级锁

再说偏向锁之前先来看一下Java 对象头,Java 对象是分为 对象头、实例数据、对齐填充三部分,创建一个Java 对象所消耗和占用的cpu和内存代价都是很高的...

10220
邹志全

Java Concurrent synchronized 使用&原理

sychronized 是Java语法层面的同步策略,可以用来修饰instance变量、object reference(对象引用)、static函数和clas...

7840
邹志全

Java Concurrent Executor

在说Executor前, 先来看一下线程创建的几种方式: 1、继承Thread类创建线程 2、 实现Runable接口创建线程 3、使用Callable和...

7320
邹志全

Go 并发实战--限流算法

高并发系统为了服务的可用性面对高流量及qps高峰时通常有三种常见的应对措施:缓存、降级和限流。这一篇我们来看一下限流及go相应的实现。 限流算法通常有这么几种...

9010
邹志全

Go 语言进阶--基础概念

本系列文章到现在已经将Go非常基础的部分介绍完成了,后面就开始设计非常具有Go特色的内容了,因为之后会出现一系列的名词和概念,为了方便本篇先把这些基础概念和我的...

5410
邹志全

Go 语言基础--反射 浅析

反射是众多编程语言中的一个非常实用的功能,毫不意外go 也是对于反射提供了友好的支持,反射官方描述是一种能够自描述、自控制的应用。go 中的反射就是在运行时动态...

6120
邹志全

Go 语言基础--map 浅析

map通常是一种无序键值对的集合,map存在的意义主要是利用map的结构根据key来快速检索数据,在go中也是这样的。 map 也是一种集合,我们可以像遍历数...

3920
邹志全

Kafka 交付语义 机制详解

上一篇提到了如何利用ISR完成“消息不丢失”,接下来看看如何整体来说,如何实现Kafka的交付语义。 Kafka 或者所有的消息队列中都存在的交付语义:最多一...

8320
邹志全

Kafka 之压缩算法&Hash算法

Kafka 支持的压缩算法还挺多的,这一篇来站在Kafka的角度看一下压缩算法。就当前情况来说,支持GZIP、Snappy、LZ4 这三种压缩算法。具体是通过c...

14830
邹志全

高并发下的各种缓存

Cache在大家最开始接触开发的时候应该就听过许多了,比如浏览器缓存、OS中的缓存、什么缓存一致性等等,各式各样的Cache,看起来各种高大上的样子,看着群里或...

8250
邹志全

如何让别人看不懂你的代码

先道歉,最近忙着发paper(也可能是季后赛的事儿),又一不小心拖更一个月,实在抱歉。 良好的代码风格,是一个合格程序员最起码的素质。 我们经常听说,如何让...

10140
邹志全

shell -- 基础网络相关命令 浅析

大家接触到的第一个命令可能是ping,来测试接口通不通,但是网络相关的命令可远不止ping:

6920
邹志全

shell -- 进程管理系列命令浅析

linux 常用的命令工具非常多,除了cd、ls、mkdir、cp、mv这些非常常用和简单的命令,这里对于开发和排查问题过程中进程相关常用的几个命令进行介绍

7320

扫码关注云+社区

领取腾讯云代金券