关闭

小林coding

所属频道 单片机 公众号精选
酷爱图解晦涩难懂的计算机基础知识。
  • 打好这些计算机基础体系,大厂Offer任你挑

    金九银十,又是一年校招季,经历过才深知不易。最近,和作为校招面试官的同事聊了聊,问他们是如何去考察一个学生的,我简单归为以下几点: 聪明、反应快;算法不错,代码基本功好;基础过硬;语言组织和表达能力。

  • 原来8张图,就可以搞懂「零拷贝」了

    磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存10倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝、直接I/O、异步I/O等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统内核中的磁盘高速缓存区,可以有效的减少磁盘的访问次数。本文以「文件传输」作为切入点,来分析I/O工作方式以及如何优化传输文件的性能。

  • 20张图解,为什么HTTP3.0使用UDP协议?

    生活不止眼前的苟且,还有诗和远方的田野。新的一周又开始了,大白和小林是同事,平时俩人一起喝酒吃肉打游戏居多,当然有时候也讨论下学术和前沿技术。这不,小林听说了个新鲜玩意,然后和大白聊了起来。

    单片机
    2020-09-22
  • 面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景

    生活中用到的锁,用途都比较简单粗暴,上锁基本是为了防止外人进来、电动车被偷等。但生活中也不是没有BUG的,比如加锁的电动车在「广西 - 窃·格瓦拉」面前,锁就是形同虚设。那在编程世界里,「锁」更是五花八门,多种多样,每种锁的加锁开销以及应用场景也可能会不同。

    单片机
    2020-09-16
  • 小林才写作半年,竟混进年入百万千万的圈子?

    如果你问我今年做的最正确的事情是什么? 那毫无疑问,肯定是写技术文章这个事情,但这也有最遗憾的事,那就是没有早几年开始写,错过了不少机会。 实际上,在公众号写技术文章这件事,也不是今年才有想法的,我在前几年就有想法了,但是一直犹豫不决,不够果

    单片机
    2020-09-10
  • C++ 手把手教你实现可变长的数组

    — 1 — 要实现什么函数呢? 假设我们要实现一个会自动扩展的数组类,我们需要实现函数呢?先从下面 main 函数使用的功能,看看有什么函数是需要我们实现的。 输出结果: 0 1 2 3 40 1 2 100 4 要实现如上的功能,要做哪些事情呢?先列出来: 要用动态分配的内

    单片机
    2020-09-08
    C++
  • C++ 赋值运算符'='的重载(浅拷贝、深拷贝)

    — 1 — 需求 有时候希望赋值运算符两边的类型可以不匹配。 比如:把一个  int  类型变量赋值给一个 Complex(复数)对象,或把一个  char*  类型的字符串赋值给一个字符串对象,此时就需要重载 = 赋值运算符 。 需要注意的是:赋值运算符 = 只能重载为成员函

    单片机
    2020-09-08
  • C++ 运算符重载的基本概念

    — 1 — 运算符重载的需求 C++ 预定义的运算符,只能用于基本数据类型的运算:整型、实型、字符型、逻辑型等等,且不能用于对象的运算。但是我们有时候又很需要在对象之间能用运算符,那么这时我们就要重载运算符,使得运算符能用于对象之间的运算。 比如,在

    单片机
    2020-09-08
  • 掌握了多态的特性,写英雄联盟的代码更少啦!

    — 1 — 虚函数和多态 || 01 虚函数 在类的定义中,前面有  virtual  关键字的成员函数称为虚函数; virtual  关键字只用在类定义里的函数声明中,写函数体时不用。 class Base { virtual int Fun() ; // 虚函数}; int Base::Fun() // virtual 字段不用在函数

    单片机
    2020-09-08
  • C++ 一篇搞懂继承的常见特性

    — 1 — 继承和派生 || 01 继承和派生的概念  继承: 在定义一个新的类 B 时,如果该类与某个已有的类 A 相似(指的是 B 拥有 A 的全部特点),那么就可以把 A 作为一个基类,而把B作为基类的一个派生类(也称子类)。 派生类: 派生类是通过对基类进行修改和

    单片机
    2020-09-08
    C++
  • C++ 自增、自减运算符的重载和性能分析

    — 1 — 重载的形式 自增运算符和自减运算符是有「前置」和「后置」之分的,如: a++ // 后置自增运算符++a // 前置自增运算符 b-- // 后置自减运算符--b // 前置自减运算符 为了区分所重载的是「前置」运算符还是「后置」运算符,C++规定: 「前置」运算符作

    单片机
    2020-09-08
  • C++ 流插入和流提取运算符的重载

    — 1 — << 运算符的重载 C++ 在输出内容时,最常用的方式: std::cout << 1 <<"hello"; 提出问题: 那这条语句为什么能成立呢? cout 是什么?为什么 << 运算符能用在 cout 上呢? 原因: 实际上,cout 是在 iostream 头文件中定义的 ostream 类的对象。 << 

    单片机
    2020-09-08
  • 探究!一个数据包在网络中的心路历程

    每日一句英语学习,每天进步一点点: 前言 文末尾有「轻松时刻彩蛋」,别轻易走开哦! 想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。 还别说,这真是挺常问的这题,前几天坐在我旁边的主管电话面试应聘者的时候,

    单片机
    2020-09-08
  • 硬核!30 张图解 HTTP 常见的面试题

    每日一句英语学习,每天进步一点点: 前言 在面试过程中,HTTP 被提问的概率还是比较高的。 小林我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 + 图解的形式由浅入深的方式帮助大家进一步的学习和理

    单片机
    2020-09-08
  • 借来的资源,如何还的潇洒?

    每日一句英语学习,每天进步一点点: 前言 本文的内容将专门对付内存管理,培养起有借有还的好习惯,方可消除资源管理的问题。 正文 所谓的资源就是,一旦用了它,将来必须还给系统。如果不是这样,糟糕的事情就会发生。 C++ 程序内常见的资源: 动态分配内存

    单片机
    2020-09-08