自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (3)
  • 收藏
  • 关注

原创 对于Web服务器的认识

内容提纲:WebServe 分类WebServe 执行流程WebServe 如何返回数据什么是NIONginx和Tomcat是如何使用NIO的?为什么通常认为Nginx会更快呢?为什么Nginx最擅长反向代理一、WebServe 分类按照我个人对web服务器的理解,我将其分为两类:1、一类是以nginx、Apache Http Server为代表的通用的Web Server2、一类是基于语言的web Server,比如C++的Piatache、Java的Tomcat、Python的

2021-10-16 17:45:45 452

原创 GO 语言的运行时初始化过程解析

ps:这是我19年的写的总结,编辑成了pdf,当时用了很多截图,导致没法复制源码,原来注释的代码也找不到了,只能将就了。#一、汇编代码分析本文将剖析,下面这段go语言代码运行的背后逻辑,主要从goroutine的调度层面,深度挖掘其背后的运行逻辑。以go 1.5.1的源代码为分析:1.1 go源代码package mainfunc main(){go add(1,2)}func add(a,b int)(int,int,int){return a+b,a,b}先来看看上面这段程序的

2021-10-12 09:22:18 880

原创 对高并发的思考

近期很长的一段时间,都在学习总结,什么是高并发,怎么样实现高并发,接触了解的内容包括Nginx工作原理,Tomcat 的三种运营模式,Pistache并发机制,CGI/Fast-CGI,nodejs及其底层的异步IO库linuv,Linux的事件轮询机制Epoll,以及Go语言的GMP调度模型。自认为形成一套自圆其说的逻辑,所以记录总结一下。首先谈一下并发,在OS的课程上对于并发和并行有严格的区分:并发指的是多个任务同一个core上一起执行,通过调度算法,给用户以所有的任务正在同时的进行“错觉”,但是

2021-10-12 09:21:00 115

原创 关于C++的引用

###前言因为最近在用C++写项目,因为之前C++的基础为0,所以对引用的理解非常浅显,一直将其当作指针来看待,然而现在对其产生了巨大的疑惑,包括:为什么引用总会和const关键字扯上关系引用究竟是如何减少copy的?引用和指针到底有什么区别?到底什么是右值引用?他是干嘛的?std::move()函数将左值变成右值,作用是什么?我看了很多关于引用的介绍,说实话,看完之后依然似懂非懂,可能我没找到好的博客(我也懒得找,反正百度出来的千篇一律),大概停留在引用就是别名,右值就是等号右边的那些不

2021-10-12 09:19:29 230

原创 使用 Clion + QEMU/GDB 远程调试Linux内核

前言之前写了一篇关于使用 Clion 来阅读linux源码的文章《使用Clion 阅读/修改/注释 Linux 内核源码》,通过使用make -j12转化为使用make -j12 vmlinux bzImage之后,大大的提高了编译的速度,以及很大的降低了对CLion占用内存的开销,不会再出现卡顿,今天来配置Clion的Remote Debug功能以可以对Linux kernel进行单步调试。下面过程跳过了准备linux内核、qemu等等工具的准备,仅仅介绍最核心的重要的配置。试验环境:Linux

2021-10-12 09:15:39 1318

原创 使用Clion 阅读/修改/注释 Linux 内核源码

前言其实,bootlin就是一个听不错的阅读源码的工具了,可以非常方便的帮我们查阅函数、宏的定义、引用等等。而且是基于浏览器,对我们本机的配置没有什么过高的要求。但是如果想要做一些注释,修改,那我们就要将源码下载到本地了,这个时候我们可能就需要其他的工具了。Clion我最熟悉的C/C++ IDE,我非常喜欢Jetbrains家族的IDE,因此使用Clion来阅读/注释/修改源码,就成了我的首选,很可惜的是,Linux kernel是通过Makefile进行构建的,然后Clion是用的是CMake,因此

2021-10-12 09:11:49 2607

原创 并发与并行、同步与异步、阻塞与非阻塞

下面的解释是我个人的理解,除并发和并行,其实对于阻塞、非阻塞,同步、异步等,没有统一的定义,而且有时候是可以混用的,其实大可不必过于纠结其概念。并行/并发(Parallelism/Concurrency)并发与并行,是用来描述任务或者说线程的执行方式。都表示任务同时被处理,或者说线程在同时执行,区别于一个一个的执行任务。但是两者存在细小的差别:并发特指,在一段时间内,所有的任务都达到了推进,或者说每个任务都执行了一部分,但是在某一个时刻,他们并非都在执行,这通常是通过时间片的轮转实现的。而并行是在真正的

2021-10-12 09:10:15 220

Jetbrains中解决输入法鼠标不跟随问题的JRE

Jetbrains中解决输入法鼠标不跟随问题的JRE

2022-02-23

Delegated persist ordering 中文翻译

Delegated persist ordering 论文的翻译,华中科技大学课程 计算机系统性能与分析课指定翻译论文之一

2018-10-27

docker 源码分析

非扫描版哦,是真正的电子版,Docker 源码分析.pdf

2018-10-27

空空如也

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

TA关注的人

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