从宏观上理解计算机网络模型-坐在直升机上看网络
大家好,我是风筝 今天是轻解计算机网络系列第一解,从宏观上了解网络。主要介绍网络分成模型、基本传输过程。 学习任何一种新技术都应该是这样的顺序,先从宏观上了解这门技术的基本原理和作用。这就好像生物学家研究一种生物,不能上来就解刨吧,一定是从整体上观察了这种生物的体貌和形态。这里的宏观就像是一...[2023/3/17]
一文带你吃透操作系统
目录1. 进程、线程管理2. 内存管理3. 进程调度算法4. 磁盘调度算法5. 页面置换算法6. 网络系统7. 锁8. 操作系统知识点 文章字数大约1.9万字,阅读大概需要65分钟,建议收藏后慢慢阅读!!! 1. 进程、线程管理 进程和线程基础知识 进程:进程是系统进行资源分配和调度...[2023/3/15]
重学了计算机网络,略有小成,经验全部分享出来
公众号「古时的风筝」,专注于后端技术,尤其是 Java 及周边生态。文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 大家好,我是风筝。 重学计算机网络已经有一段时间了,终于在离开大学多年后又重新拾起了一部分,时至今日已略有小成,并且写...[2023/2/24]
位运算与二进制表示集合
位运算与二进制表示集合 位运算 运算符 运算 运算符 数学符号表示 解释 与 & &、\(and\) 只有两个对应位都为 \(1\) 时才为 \(1\) 或 \(|\) \(|\)、\(or\) 只要两个对应位有一个 \(1\) 时就为 \(1\) 异或 ^ ...[2023/2/20]
微机原理与系统设计笔记6 | 存储器系统设计
打算整理汇编语言与接口微机这方面的学习记录。本部分介绍存储器及其扩展方法。 参考资料 西电《微机原理与系统设计》周佳社 西交《微机原理与接口技术》 课本《汇编语言与接口技术》王让定 小甲鱼《汇编语言》 1. 存储器的分类 外存:磁盘、U盘、光盘等,外存严格来说属于IO...[2023/2/20]
DNS 是如何影响你冲浪速度的?
本文详细介绍了 DNS 相关知识,包括 DNS 工作原理、如何提升域名解析速度、以及 DNS 记录与报文等内容。 1. 域名与域名服务器 在日常上网过程中,出于好记的原因,人们更喜欢在浏览器中输入网站的域名,而不是 IP 地址。比如想要访问百度,则会输入 www.baidu.com ,而不...[2023/2/2]
过年回去,终于给老人讲清楚两台电脑是如何通信的
摘要:本文将从小白的角度,讲解两台计算机之间是如何精确的找到对方的位置并发送和接收消息的,以从宏观角度把握计算机网络的体系结构。 本文分享自华为云社区《两台计算机之间究竟是如何通信的?》,作者:龙哥手记。 计算机网络的知识点非常杂乱且琐碎,非常容易让人产生畏惧心理。其实计网通篇研究的核心就是不...[2023/2/1]
计算机中数值和字符串怎么用二进制表示?
作者:小牛呼噜噜 | https: xiaoniuhululu.com 计算机内功、JAVA底层、面试、职业成长相关资料等更多精彩文章在公众号「小牛呼噜噜」 大家好,我是呼噜噜。我们都知道现代计算机采用 0 和 1 组成的二进制,来表示所有的信息。那大家是不是有时候会有这些疑问:为什么计...[2023/1/28]
不懂编译原理?本文教你从零实现最简编译模型!
简介 前两日我偶然间在 GitHub 上发现了一个项目:the-super-tiny-compiler,官方介绍说这可能是一个最简的编译器。刚好之前学过「编译原理」这门课,我的兴趣一下子就上来了,简单看了一下,这个项目是将一个 Lisp 表达式转化为 C 的表达式的编译器,中间涉及词法分析、语法...[2023/1/18]
CPU 和 CPU Core 有啥区别?多核 CPU?多个 CPU?
CPU 全称 Central Proce ing Unit,中央处理器,计算机的大脑,长这个样子: CPU 通过一个插槽安装在主板上,这个插槽也叫做 CPU Socket,它长这个样子: 而我们说的多核 CPU,一个 CPU 有几个核,这个核就是 Core 其实在很久之前是没有 ...[2022/12/12]
深入浅出OSI七层参考
本篇博客是笔者阅读《图解TCP/IP》所记录下的笔记,有兴趣的朋友可以去看一看这本书。 OSI七层参考模型 ? 本小节以电子邮件通信为例,分别来阐述OSI七层模型的每一层是如果进行通信处理的。 ? 假定用户 A要给用户B发一封电子邮件 “早上好!”,在用户A和用户B的通信过程中,网络是如...[2022/12/12]
网络编程与通信原理
目录一、基础概念二、JDK源码1、InetAddre 2、URL3、HttpURLConnection三、通信编程1、Socket2、SocketServer3、SocketClient4、字符流使用5、文件传输6、TCP协议四、Http组件1、基础接口2、ApacheHttp3、OkHttp4...[2022/12/12]
为什么计算机中的负数要用补码表示?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在前面的文章里,我们聊到了计算机的冯·诺依曼架构的 3 个基本原则。其中第 1 个原则是计算机中所有信息都是采用二进制格式的编码。也就是说,在计算机中程序的数据和指令,以...[2022/12/2]
二维码的秘密(生成原理)
我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态。 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面。 这里所说的二维码默认指的就是我们经常用到的微信二维码这样方形格式的,二维码的英文全称是 Quick Response ...[2022/11/19]
图解计算机内部的高速公路 —— 总线系统
本文已收录到 GitHub · AndroidFamily,有 Android 进阶知识体系,欢迎 Star。技术和职场问题,请关注公众号 [彭旭锐] 进 Android 面试交流群。 前言 大家好,我是小彭。 在之前的文章中,我们聊到了计算机的冯·诺依曼计算机架构,计算机由...[2022/11/17]
真正“搞”懂HTTP协议04之搞起来
前两篇文章,我们从空间和时间的角度都对HTTP有了一定的学习和理解,那么基于上一篇的HTTP发展的时间顺序,我会在后面的文章由浅入深,按照HTTP版本内容的更迭,一边介绍相关字段的使用方法,一边讲解其特性和目的,并和大家一起手写测试代码,学以致用。 当然在真正进入时间线之前,我们还还需...[2022/11/17]
简单的计算机组成原理及层次结构学习教程
目录从软硬件角度划分计算机从物理构成角度理解计算机(9层)计算机系统的层次结构现代计算机硬件框图冯诺依曼体系机构六大特点?计算机硬件的主要技术指标CPU的结构及功能1)控制器2)运算器计算机存储设备的理解1)存储金字塔2)缓存3)主存(内存)1)ROM2)RAM3)ROM、RAM和硬盘比较4)辅存?...[2021/11/24]
计算机程序设计并行计算概念及定义全面详解
目录1 摘要2 概述2.1 什么是并行计算?2.2 为什么要并行计算?2.3 谁都在使用并行计算?科学界和工程界:工业界和商业界:全球应用: 3 概念和术语3.1 冯诺依曼体系结构3.2 弗林的经典分类3.3 一些常见的并行计算术语3.4 并行程序的缺陷和代价复杂性:可移植性:资源需求: 可扩展性:...[2021/11/8]
计算机中的存储器
目录一、存储器的组成二、存储器的段结构三、逻辑地址与物理地址四、堆栈 存储器是用来存放程序和数据的。计算机的存储系统由内存(主存储器)和外存(辅助存储器)组成。内存设在主机内部,用来暂时存放当前运行的程序和使用的数据,其特点是存取速度快,但比外存容量小,且掉电后信息全部消失。外存设在主机外部...[2021/6/28]
浅析操作系统中的虚拟地址与物理地址
目录一、前言二、你看到的所有地址都不是真的三、物理寻址 Physical Addre ing四、虚拟寻址 Virtual Addre ing 一、前言 先解释下一个困扰了我很久的问题:虚拟地址(vitural addre )和逻辑地址(logical addre )的区别。 大部分操作系统...[2021/6/21]
操作系统——信号量例题
有一个仓库,可以存放 A 和 B 两种产品,仓库的存储空间足够大,但要求: (1)一次只能存入一种产品(A 或 B); (2)-N < (A 产品数量-B 产品数量) < M。 其中,N 和 M 是正整数。试用“存放 A”和“存放 B”以及 P、V 操作描述产品 A 与 产品 B 的...[2021/6/15]
计算机语言
目录一、机器语言二、汇编语言三、高级语言 当人们使用计算机来完成某些任务时,就必须告诉它怎样具体地处理这些任务。同计算机进行这种交流的工具是什么呢?就是计算机语言。人们利用计算机语言告诉计算机某个问题应如何处理,先做什么,后做什么,即人们用计算机语言安排好处理步骤,每一步都是用计算机语言描述...[2021/6/7]
非确定的自动机NFA确定化为DFA
摘要: 在编译系统中,词法分析阶段是整个编译系统的基础。对于单词的识别,有限自动机FA是一种十分有效的工具。有限自动机由其映射f是否为单值而分为确定的有限自动机DFA和非确定的有限自动机NFA。在非确定的有限自动机NFA中,由于某些状态的转移需从若干个可能的后续状态中进行选择,故一个...[2019/10/31]
正规式、正规文法与自动机
1.正规式转换到正规文法 对任意正规式R选择一个非终结符Z生成规则Z→R 1.对形如A→ab的规则,转换成A→aB,B→b 2.将形如A→a|b的规则,转换成A→a,A→b(A→a|b) 3....[2019/10/24]
程序员需要了解的CPU硬核知识
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和CPU打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU CPU是什么 CPU 的全称是 Central Proce ing Unit,它是你的电脑中最...[2019/10/23]
正规文法与正规式
3型文法也叫作正规文法,它对应于有限状态自动机,它是在2型文法的基础上满足:A->a|aB(右线性)或A->a|Ba(左线性)。如果有A->a,A->aB,B->a,B->cB则符合3型文法的要求。但是A->ab,A->aB,B->...[2019/10/16]
编译原理的文法和语言总结与梳理
梳理文法和语言的内容,理解与总结。 我们都知道,一种语言必定他的文法去描述,它的完整定义包括语法和语义两个方面。语言和语法是指一组规则,用它可以形成和产生一个合适的程序。目前广泛使用的是上下文无关文法,也就是用上下文无关文法作为程序设计的描述工具,比如用A:=B+C表示是一个合法的...[2019/9/26]
编译原理的文法与语言
理解符号串与集合运算。 L={A,B, … ,Z,a,b, … ,z} D={0,1, … ,9} 说明下表示的含义: LUD :全部字母和数字的结合的一个集合 LD :由一个字母后跟一个数字组成的所有符号串...[2019/9/12]
重学计算机组成原理(八)- 程序的装载
比尔·盖茨在上世纪80年代说的“640K ought to be enough for anyone” 也就是“640K内存对哪个人来说都够用了” 那个年代,微软开发的还是DOS操作系统,程序员们还在绞尽脑汁,想要用好这极为有限的640K内存 而现在,我手头的Mac Book ...[2019/8/19]
重学计算机组成原理(九)- 动态链接
把对应的不同文件内的代码段,合并到一起,成为最后的可执行文件 链接的方式,让我们在写代码的时候做到了“复用”。 同样的功能代码只要写一次,然后提供给很多不同的程序进行链接就行了。 “链接”其实有点儿像我们日常生活中的标准化、模块化生产。 有一个可以生产标准螺帽的生产线,就可生...[2019/8/19]
重学计算机组成原理(十)- "烫烫烫"乱码的由来
程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 --- 各种计算机指令 数据结构 --- 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二进制表示的 存储在内存里面的字符串、整数、浮点数也都是用二进制表示的 ...[2019/8/19]
重学计算机组成原理(十一)- 门电路的"千里传音"
人用纸和笔来做运算,都是用十进制,直接用十进制和我们最熟悉的符号不是最简单么? 为什么计算机里我们最终要选择二进制呢? 来看看,计算机在硬件层面究竟是怎么表示二进制的,你就会明白,为什么计算机会选择二进制。 1 怎么做到“千里传书” 马拉松的故事相信你听说过。公元前490年,...[2019/8/19]
重学计算机组成原理(六)- 函数调用怎么突然Stack Overflow了!
用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出 1 栈的意义 ...[2019/8/16]
重学计算机组成原理(五)- "旋转跳跃"的指令实现
CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if…else、for这样的条件和循环存在,这些指令也不会一路平直执行下去。 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CPU如何执行指令 CPU里差不多几百亿个晶体管 实际上,一条条计算机指令执行起来非常复杂...[2019/8/14]
重学计算机组成原理(二)- 制定学习路线,攀登“性能”之巅
0 学习路线的知识点概括 学习计算机组成原理,就是学习计算机是如何协调运行的 计算机组成原理的英文叫Computer Organization Organization 意"组织机构"。 该组织机构能够进行各种计算、控制、读取输入,进行输出,达成各种强大的...[2019/8/12]
重学计算机组成原理(三)- 进击,更强的性能!
在上一篇中,我们谈到过 程序的CPU执行时间 = 指令数×CPI×Clock Cycle Time 要提升计算机的性能,可以从上面这三方面着手。 通过指令数/CPI,好像都太难了。 因此工程师们,就在CPU上多放晶体管,不断提升CPU的时钟频率,让CPU更快,程序的执行时间就...[2019/8/12]
重学计算机组成原理(一)- 冯·诺依曼体系结构
1 计算机的基本硬件组成 早期,DIY一台计算机,要先有三大件 CPU 内存 主板 1.1 CPU 计算机最重要的核心配件,中央处理器(Central Proce ing Unit)。 计算机的所有“计算”都是由CPU来进行的。 CPU是一个超级精细的印刷电路版 1.2...[2019/8/9]
计算机组成原理--浅谈计算机性能
计算机组成原理|浅谈计算机性能 本篇文章属于计算机组成原理的开篇之作,主讲影响计算机性能的因素与提升的计算机性能的路径。 关键词: 性能,CPU,响应时间,主频,功耗,电压,并行... 前言 目前所有的文章思想格式都是:知识+情感。 知识:对于所有的知识点的描述。力求不含任何的自我感情...[2019/8/5]
ASCII,Unicode,UTF-8,GBK 区别
编码历史与区别 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样...[2019/7/29]
图数据库和图计算系统有什么区别?
对于广大刚刚接触“图数据分析”的用户而言,一个十分具有迷惑性的问题是:图数据库和图计算系统有什么区别?今天,我们就从技术层面来简单地说一说两者的不同之处。 图数据库适合需要对子图进行并发操作的场景;图计算系统适合需要对全图进行迭代式计算的场...[2019/7/25]
一文了解操作系统与磁盘管理
目录 操作系统 类别 32位和64位有什么区别 磁盘管理 磁盘的基本概念 磁盘的基本结构 磁盘的预备知识 ...[2019/7/17]
一文总结下操作系统
操作系统简介 一、为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。 一般而言,现代计算机系统是一个复杂的系统。 其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了...[2019/7/15]
在二进制数中,为什么会有原码、反码、补码
由于二进制只有0和1两种数,因此在计算机中搭建运算电路时比十进制运算电路简单很多。 1、原码 在n为字长的原码系统中,最左侧表示符号位,在计算机中,我们人为定义二级制负数最左侧为‘1’表示负值,二进制正数最左侧为‘0’表示正...[2019/6/12]
字符编码
最早的计算机在设计时采用8个比特(bit)作为一个字节(byte) 一个字节能表示的最大的整数就是255(二进制11111111=十进制255), 如果要表示更大的整数,就必须用更多的字节,比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295 ASCII...[2019/5/21]
1.3:Render Pipeline and GPU Pipeline
文章著作权归作者所有。转载请联系作者,并在文中注明出处,给出原文链接。 本系列原更新于作者的github博客,这里给出链接。 在学习SubShader之前,我们有必要对 Render Pipeline (渲染流水线)和 GPU Pipeline (图形硬件流水线)有一个比较细致的了解。这是一篇干...[2019/4/29]

你不知道的浏览器渲染原理
前言 浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是 JS 引擎。渲染引擎在不同的浏览器中也不是都相同的。目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Safari)。...[2019/4/16]
树存储结构的几种表示方法
名称:树存储结构的几种表示方法 说明:对于树的存储结构,一般有以下三种表示方法。 (1)、双亲表示法。这种存储方式采用一组连续的空间来存储每个结点,同时在每个结点中增设一个伪指针, 指示其双亲在结点中的位置。这种方式比较容易找到双亲,但是不容易找到孩子。 (2)、孩子表...[2019/3/6]
判断两颗二叉树是否相似的两种方法
名称:判断两个二叉树是否相似 说明:此处的两个方法一个是非递归,一个是递归算法。其实两个算法的本质思路是一样的就是,判断位置相同的两个结点是否同时为空或同时不为空。只是具体的实现不一样。 对于层次遍历法:此处不小心用错了,本应该用队列来当作排列下一层元素的。歪打正着,此处用栈也可以,只是判...[2019/3/6]
看懂了采样定理
文章转载自:http: www.kokojia.com/article/24171.html 采样定理为2倍,为何用2.56倍进行采样? 香农定理中要求采样频率至少为关心最高信号频率的2倍,但为什么工程中经常用2.56倍?本篇文章中有着详细的解答,我想大家看完这篇文章定会对大家有帮助~ ...[2019/3/4]
一文通俗理解计算机系统及编程思维
计算机系统是一个众多软件运行在诸多硬件模块上的系统。 现代的大部分计算机系统都是符合冯诺依曼的“存储程序”概念和体系结构的系统。 软件系统和硬件系统都有分治法与模块化思想的体现。组成程序的函数或类(对象),组成硬件的模块,都有输入、输出及接口的实现。 世界最早的计算机ENIAC,与现代计算机有太...[2019/1/8]