自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

原创 第四章、并发编程

一、并发基础 并发的应用场景: 图形用户界面 Web服务 "事务处在分布式环境上,相同的工作单元在不同的计算机上处理着被分片的数据",不理解!!! CPU从单内核向内核发展 阻塞的IO操作 并发的优点: 更客观的表现问题模型 充分利用CPU的多内核 充分利用CP...

2019-01-24 09:51:44 149

原创 第三章、面向对象编程

一、Go语言面向对象的特点: 不支持继承、虚函数、构造函数、析构函数、隐藏的this指针; 整个类型系统通过接口串联; 非侵入式接口; 二、类型系统 含义:指一个语言的类型体系结构,包含以下基本内容: 基础类型,如:byte, int, float32等; 复合类型,如:数组,结构体,指针等; 可以指向任意对象的Any类...

2019-01-24 09:51:17 188

原创 第二章、顺序编程

一、变量 变量声明: 使用var关键字进行变量的声明,形式为:var 变量名 类型。示例如下: var v1 int // int型变量v1 var v2 *int // 指向int型的指针 var v3 [10]int // 存储有10个int型元素的数组v3 var v4 []int // int型...

2019-01-24 09:50:51 218

原创 第一章、初始Go语言

一、Go开发环境搭建 环境:Windows10 安装Go语言包: 首先安装:go1.4.windows-amd64.msi 配置好环境变量:GOARCH, GOOS, GOROOT, GOPATH 然后安装:go1.11.windows-amd64.msi 安装sublime text 3和gosublime插件:...

2019-01-24 09:50:27 153

原创 前言:为什么我们需要一门新语言

互联网时代的语言:Go,需要考虑的关键问题: 并行与分布式支持: Go在语言级别支持协程,其他语言多数需要库的支持。 执行体间的通信,分为以下两种: 互斥或同步:Go在语言层面不支持。 消息传递:Go内置了消息队列(通道channel)。Go语言推荐使用消息,而不是共享内存,来进行并发编程。 ...

2019-01-23 16:41:19 186

原创 Go开发环境搭建

环境:Windows10 安装Go语言包: 首先安装:go1.4.windows-amd64.msi 配置好环境变量:GOARCH, GOOS, GOROOT, GOPATH 然后安装:go1.11.windows-amd64.msi 配置好环境变量:GOARCH, GOOS, GOROOT, GOPATH ...

2019-01-16 17:19:38 141

转载 “三次握手,四次挥手”你真的懂吗?

https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666543559&idx=1&sn=83cf0e9367511d6b311909a5b3dfc81e&chksm=80dcfd6cb7ab747af19259cce70621b269c5fae25582af7c57f5be904bc18e216625cf6...

2019-01-11 18:35:53 309

转载 netstat -s TCP连接失败 相关统计 解释

针对问题:TCP连接失败分析:netstat -s输出中和连接失败相关的参数202270382 invalid SYN cookies received 解释:三次握手ack包,syncookies校验没通过; 13700572 resets received for embryonic SYN_RECV sockets 解释:syn_recv状态下,收到非重传的syn包,则返回...

2019-01-11 18:34:11 3226

转载 netstat -s 各项参数意义

最近在总结2.6.32与2.6.18的差异,我特别有兴趣的是网络部分,但猛然发现其实SNMP counters我也并不能准确解释它们的含义,于是就有了以下总结,还不完整,持续总结中:加粗的项代表TODO,还有一些counters没有列出来。难免有错误,请大家指正吧,我的codebase是linux2.6.git~ TCP Basic类别 名称 描述 Tcp ...

2019-01-11 18:28:29 13654

转载 ss命令详解

ss 是 socket statistics 的缩写。顾名思义,ss 命令可以用来获取socket 统计信息,它可以显示和netstat 类似的内容。但 ss 的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。  当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是 cat  /proc/net/tcp,执行速度都会很慢。可能...

2019-01-11 17:06:18 2517

转载 tcp序列号回绕与解决

问题描述tcp协议头中有seq和ack_seq两个字段,分别代表序列号和确认号。tcp协议通过序列号标识发送的报文段。seq的类型是__u32,当超过__u32的最大值时,会回绕到0。 一个tcp流的初始序列号(ISN)并不是从0开始的,而是采用一定的随机算法产生的,因此ISN可能很大(比如(2^32-10)),因此同一个tcp流的seq号可能会回绕到0。而我们tcp对于丢包和乱序等问...

2019-01-11 16:01:44 4925

转载 TCP 半连接队列和全连接队列

本篇文章介绍了TCP建连流程中,半连接队列和全连接队列的区别。 1. 简单的 TCP 建连流程先来张图,如下: 1)client 端使用 connect() 向 server 端发起连接请求(发送 syn 包),此时 client 端的 TCP 的状态为 SYN_SENT。2)server 端在收到 SYN 包后,将 TCP 相关信息放到 syn queue(半连接队列...

2019-01-11 15:57:03 2461

grpc-c++ v1.60.0源码,包含各个子模块

grpc-c++ v1.60.0源码,包含各个子模块

2024-02-04

gperftools-unwind-graphviz.20200119.tar.gz

gperftools安装包和依赖包; 安装使用说明; 示例代码: #include <google/profiler.h> #include <stdio.h> void func1(void) { int i = 0; while (i < 1000000) { ++i; } return; } void func2(void) { int i = 0; while (i < 2000000) { ++i; } return; } void func3(void) { for (int i = 0; i < 1000; ++i) { func1(); func2(); } return; } int main(int argc, char *argv[]) { ProfilerStart("my.prof"); // 指定所生成的profile文件名 func3(); ProfilerStop(); // 结束profiling return 0; }

2020-01-19

《图解http》

详细的介绍了http协议; 特色是穿插了大量插图,图文并茂,有助于加深理解及记忆。

2018-11-14

Nginx高性能Web服务器详解

面向: Web服务器使用者; Nginx学习开发者; Linux研发工作者; 网络编程爱好者。

2018-11-14

vim插件:omnicppcomplete-0.41.zip、taglist_46_vim.zip、vim-autocomplpop.zip三合一

vim常用插件: 1. omnicppcomplete-0.41.zip 2. taglist_46_vim.zip 3. vim-autocomplpop.zip

2018-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除