首先声明一点,虚表并非是C语言的官方标准的一部分,只是各家编译器厂商在实现多态时的解决方案。另外即使同为虚表不同的编译器对于虚表的设计可能也是不同的,本文主要基于ItaniumCABI(适用于gcc和clang)。从C的POD类型到C的类首先回顾一下C语言纯POD的结构体(str...
前言:一转眼从事前端已经6年了,从当时的小白到如今大厂的技术专家,中间也走过不少弯路,从今天开始我会持续更新前端技术文章,并且整体的文章会进行体系梳理,整个知识体系分为:基础精讲,框架讲解,框架及工具原理,前端面试题精讲,大厂面试题收录精讲,前端新技术讲解。通过完善的技术精讲助力...
计算机网络的原理其实很简单,但是套上专业名词后,那些看不见、摸不着的概念,会让人云里雾里。其实理解了网络名词,再去学习网络,会感觉像打开了任督二脉,发现网络不过如此。因此,掌握一定数量的网络概念名词是很有必要的,现在有一本汇总了98个常见网络名词和60张配图的武林秘籍,见你有缘就...
过去的二十年中,我们似乎总能够听到层出不穷的致富故事,但近些年来,这样的事情似乎越来越少,不常听说了,好像互联网的小富挺多,但波澜起伏的大富,正在慢慢远离我们。来看一段文字,是一位刚刚失业的四十岁高级码农,在近二十年的岁月中,努力积攒下巨额财富的经历:这是知乎问题「40岁因为财务...
↓推荐关注↓无论你写什么样的代码都会交给CPU来执行,所以,如果你想写出性能比较高的代码,这篇文章中提到的技术还是值得认真学习的。另外,千万别觉得这些东西没用,这些东西非常有用,十多年前就是这些知识在性能调优上帮了我的很多大忙,从而跟很多人拉开了差距……基础知识首先,我们都知道现...
1.单线程/进程在TCP通信过程中,服务器端启动之后可以同时和多个客户端建立连接,并进行网络通信,但是在介绍TCP通信流程的时候,提供的服务器代码却不能完成这样的需求,先简单的看一下之前的服务器代码的处理思路,再来分析代码中的弊端:// server.c#include #inc...
在掌握了基于TCP的套接字通信流程之后,为了方便使用,提高编码效率,可以对通信操作进行封装,本着有浅入深的原则,先基于C语言进行面向过程的函数封装,然后再基于C进行面向对象的类封装。1.基于C语言的封装基于TCP的套接字通信分为两部分:服务器端通信和客户端通信。我们只要掌握了通信...
大家好,我是小林。前几天发了一篇「为了拿捏Redis数据结构,我画了20张图」,收获了很多好评,但是当时急于发文,有些地方没有写完,也有些地方写的不是很完善。然后我最近花了很多时间来完善文章,不仅加入了Redis新版本的两个数据结构,也在之前的文章内容加入了很多内容。这次完整版终...
大家好,我是小林。今天分享一位老哥的故事,他2006年从浙大硕士毕业,一毕业就在上海从事了软件开发的工作。在魔都待了8年,并且在上海完成了落户,结婚,买房,生子,但是最后老哥还是举家回到了成都。是什么让他离开“稳定扎根”的上海呢?让我们一起来听听他的想法。作者:肖飞,诺西软件架构...
大家好,我是小林。Redis为什么那么快?除了它是内存数据库,使得所有的操作都在内存上进行之外,还有一个重要因素,它实现的数据结构,使得我们对数据进行增删查改操作时,Redis能高效的处理。因此,这次我们就来好好聊一下Redis数据结构,这个在面试中太常问了。注意,Redis数据...
大家好,我是小林。最近,一些读者朋友跟我抱怨,国内竞争压力大,想去外企,甚至国外试试机会,咨询下我的建议。怎奈我也没在国外呆过,没有发言权,但利弊肯定是有的,最起码在国外离家人就远了,更何况近年的疫情,或多或少都不让人放心。但是一些外企在国内都是可以远程办公的,这点倒是很舒服。正...
不多说,直接发车!今天我们要讲的就是MySQL的容灾。容灾一直是后台开发中的重点,如果是线上服务出了问题,没有合适的容灾机制,那么对业务来说一定会是个沉重的打击,但是容灾同时也是拉开能力差距的难点,需要有强劲的实力才能把握住。不知道阿柴能不能经受住这样的考验。现在,就让我们继续开...
象山公园 理想情况下,我们希望拥有无限大的内存容量,这样就可以立刻访问任何一个特定的机器字,但我们不得不认识到有可能需要构建分层结构的存储器,每一层次容量都要大于前一层次,但其访问速度也要更慢一些。早在计算机刚被发明出来的时候,那些计算科学界的先驱们就已经预测到之后的计算机结构...
大家好,我是小林。之前有个读者问我,他是转行自学计算机的,问我有没有必要包装三年工作经验。这我肯定肯定不建议的,做人还是要诚实守信。包装过的简历,即时你真的运气好,蒙混过了面试官,但是你入职后很容易就暴露出来的,你明明没有工作经验,却说自己工作过几年,结果你入职工作后,问你啥都不...
来源丨云加社区segmentfault.com/a/1190000016865867 GitvsSVN Git和SVN孰优孰好,每个人有不同的体验。一、Git是分布式的,SVN是集中式的这是Git和SVN最大的区别。若能掌握这个概念,两者区别基本搞懂大半。因为Git是分布式的,所...