sunsky

LV1
发表了文章

C++ 中 malloc/free与 new/delete区别

new/delete 通常来说是操作符,就是"+","-"一样,malloc/free 是 C++/C 语言的标准库函数 —— 本质区别。本文主要从以下5各方...

sunsky
发表了文章

MQTT 协议基本介绍

MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的“轻量级”消息协议,由 I...

sunsky
发表了文章

网络四层、七层负载均衡的区别

区别 所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方...

sunsky
发表了文章

20张图带你到HBase的世界遨游【转】

HBase 是一款面向列存储,用于存储处理海量数据的 NoSQL 数据库。它的理论原型是 Google 的 BigTable 论文。你可以认为 HBase 是...

sunsky
发表了文章

linux下使用tc控制和模拟网络流量

netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网...

sunsky
发表了文章

深入单机TCP服务器最大连接数

在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:{local ip, local port,remote ...

sunsky
发表了文章

Linux高性能IO网络模型对比分析:Reactor vs Proactor

随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力。本文旨在为大家提供有用的高性能网络编程的I/O模型概览以及网络服务进程模型的...

sunsky
发表了文章

git submodule来管理独立git子目录

在软件开发过程中,通常我们会遇到有一些通用的部分希望抽取出来做成一个公共库的情况,比如安卓和IOS都通用的H5页面。而公共代码库的版本管理是个麻烦的事情。幸运的...

sunsky
发表了文章

如何优化mysql的范围查询

本文预计分为两个部分: (1)联合索引部分的基础知识 在这个部分,我们温习一下联合索引的基础 (2)联合索引部分的实战题 在这个部分,列举几个我认为算是实战中的...

sunsky
发表了文章

nginx 剖析 request_time和upstream_response_time的误区、区别

upstream_response_time必须在upstream配置时才能使用?

sunsky
发表了文章

深入Linux C/C++ Timer定时器的实现核心原理

我曾以为像定时器这样基础的功能,操作系统会有一个完备的实现。当需要开启一个定时任务的时候,会有一个优雅的、如下形式的接口:

sunsky
发表了文章

Redis 分布式锁:使用Set+lua替代 setnx

解锁 redis 锁的正确姿势 redis 是 php 的好朋友,在 php 写业务过程中,有时候会使用到锁的概念,同时只能有一个人可以操作某个行为。这个时候...

sunsky
发表了文章

深入详解Go的channel底层实现原理【图解】

源码位于/runtime/chan.go中(目前版本:1.11)。结构体为hchan。

sunsky
发表了文章

MYSQL MVCC实现原理详解

MVCC(Multi Version Concurrency Control的简称),代表多版本并发控制。与MVCC相对的,是基于锁的并发控制,Lock-Bas...

sunsky
发表了文章

数据结构: 树和堆

节点的度:一个节点含有的子树的个数称为该节点的度; 树的度:一棵树中,最大的节点的度称为树的度; 叶节点或终端节点:度为零的节点; 非终端节点或分支节点:度不为...

sunsky
发表了文章

谁才是最强的排序算法: 快速排序, 归并排序, 堆排序

堆排序是渐进最优的比较排序算法,达到了O(nlgn)这一下界,而快排有一定的可能性会产生最坏划分,时间复杂度可能为O(n^2),那为什么快排在实际使用中通常优于...

sunsky
发表了文章

解决哈希冲突

假设hash表的大小为9(即有9个槽),现在要把一串数据存到表里:5,28,19,15,20,33,12,17,10

sunsky
发表了文章

数学问题:1000瓶酒找1毒酒

某酒主人要宴请客人,他共有1000瓶酒,其中1瓶有毒。一旦喝了毒酒后,会在一周后发作,现在如果我们用试纸进行检测,滴了毒酒

sunsky
发表了文章

数据结构:堆(Heap)

堆就是用数组实现的二叉树,所以它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置。

sunsky
发表了文章

Linux虚拟地址空间布局

在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一...

sunsky

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券