经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 计算机原理

位图(bitmap)原理以及实现

大家好,我是蓝胖子,我一直相信编程是一门实践性的技术,其中算法也不例外,初学者可能往往对它可望而不可及,觉得很难,学了又忘,忘其实是由于没有真正搞懂算法的应用场景,所以我准备出一个系列,囊括我们在日常开发中常用的算法,并结合实际的应用场景,真正的感受算法的魅力。 今天,我们就来学习下位图b...[2023/9/20]

计算器思想-中缀表达式转化为后缀表达式

计算机思维和人的思维的不同 对于一个算式3+2*(4-3)/5 人的思维是根据括号和符号优先级,优先计算括号中的数据,在进行乘法和除法,在处理加法运算 但是计算机的思维是线性的,计算机会按照算式的前后顺序,从前往后进行运算,这样会导致运算结果错误 计算机如何套用人的运算思维 想要让计算机具...[2023/9/15]

浅谈“文件与文件流”的区别

文件与文件流的区别(自己的话):        在软件开发过程中,我们常常把文件的“读写操作”,与“创造、移动、复制、删除操作”区分开来。其中,文件的“读写操作”是由System.IO命名空间下fileStream类控制的。而文件的“创造、移动、复制、删除...[2023/9/10]

探索计算机的I/O控制方式:了解DMA控制器的作用与优势

I/O控制方式 在前面我们已经了解到,每个设备都配备了一个设备控制器。当CPU向设备控制器发送命令并将其存储在寄存器中时,设备控制器会执行相应的操作。然而,尽管设备控制器会更新状态寄存器的状态,但是如何将这些信息传达给CPU呢? 在设备控制器的寄存器中,通常会有一个状态标志位,用于指示输入或输...[2023/9/10]

解密键盘输入:探索设备控制器的奥秘

解密键盘输入:探索设备控制器的奥秘

流程初探 键盘是我们最常用的输入硬件设备之一。作为程序员,你知道当我们敲击键盘上的字母"A"时,操作系统会发生什么吗?下面我将简要介绍整个过程,以便你更容易理解为什么需要这些组件。 首先,让我们来看看CPU的硬件架构图。 CPU内部的内存接口需要通过系统总线和I/O桥接器与内存建立连接。...[2023/9/9]

Set Concept

集合(Set)就是一种用来装事物的容器(或者称为结构),它所装的东西叫元素。集合这个容器的逻辑性很强,可以说是现在比较严谨的工具。 集合里的元素,它们可以是任何类型的数学对象:数字、符号、变量、空间中的点、线、面,甚至是其他集合,当然它也可以不是数学对象,一些其他事物。 规定: 元素通...[2023/8/29]

算法学习(一)—— 如何看待数据结构与算法

算法学习(一)—— 如何看待数据结构与算法

绪言 最近在通过阅读K神的《Hello 算法》学习数据结构与算法的知识,同时做一些博客笔记记录,方便日后的查找和复习 算法 数据结构与算法统称算法 认识算法 算法更多的是一种逻辑,例如: 查阅字典的原理与二分查找算法相一致。二分查找体现了分而治之的重要算法思想。 整理扑克的过程与插...[2023/7/28]

[爬虫]1.1.2 网络爬虫的工作原理

网络爬虫(Web Crawler),也被称为网页蜘蛛(Spider),是一种用来自动浏览互联网的网络机器人。其主要目标通常是为搜索引擎创建复制的网页内容,但它们也可以被用于其他目的,比如数据挖掘。 现在,我们一起来深入理解一下网络爬虫的工作原理。整个过程可以被大致分为四个步骤: 发送HTTP...[2023/7/24]

二叉堆原理与实现

二叉堆 二叉堆具有两个性质, 结构性和排序性. 结构性质 堆是一棵被完全填满的二叉树, 叫做完全二叉树, 除了底层以外都被填满了, 而最底层从左到右填入了. 以上图为例, 1是小顶堆, 2是大顶堆, 3是小顶堆, 4不是堆. 这种完全二叉树并不一定被填满, 为什么要被称作是完全二叉树呢...[2023/7/24]

抽象语法树AST必知必会

1 介绍 AST 打开前端项目中的 package.json,会发现众多工具已经占据了我们开发日常的各个角落,例如 JavaScript 转译、CSS 预处理、代码压缩、ESLint、Prettier 等。这些工具模块大都不会交付到生产环境中,但它们的存在于我们的开发而言是不可或缺的。 有没有...[2023/7/21]

一文搞懂 x64 IA-64 AMD64 Inte64 IA-32e 架构之间的关系

想要搞清楚 x64、IA64、AMD64 指令集之间的关系,就要先了解 Intel 和 AMD 这两家公司在生产处理器上的发展历史。 x86 处理器 1978年 Intel 生产了它的第一款 16bit 处理器8086,之后几款处理器名字也都以86结尾,包括80186,80286...[2023/5/4]

CS144 计算机网络 Lab1:Stream Reassembler

CS144 计算机网络 Lab1:Stream Reassembler

前言 上一篇博客中我们完成了 Lab0,使用双端队列实现了一个字节流类 ByteStream,可以向字节流中写入数据并按写入顺序读出数据。由于网络环境的变化,发送端滑动窗口内的数据包到达接收端时可能失序,所以接收端收到数据之后不能直接写入 ByteStream 中,而是应该缓存下来并按照序号重组...[2023/4/21]

面试官:服务器最大可以创建多少个tcp连接以及端口并解释下你对文件句柄的理解

转载请注明出处:   1.最大可以创建多少个tcp连接   服务器最大可以创建多少个TCP连接取决于多个因素,例如服务器的硬件配置、网络带宽、操作系统设置等。一般来说,现代服务器的硬件资源和网络带宽都比较充足,因此可以创建大量的TCP连接。然而,服务器在创建TCP连接时也会有一些限制,例如操...[2023/4/14]

socket 到底是个啥

  哈喽大家好,我是咸鱼   我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗   我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通信连接,socket 的表现方式由四元组(...[2023/4/14]

2.1万字,30张图详解操作系统常见面试题(收藏版)

耗时两周,新版的操作系统常见知识点/问题总结总算搞完了,手绘了30多张图。大家可以用来复习操作系统或者准备操作系统面试。对于大部分公司的面试来说基本够用了,不过,像腾讯、字节这种大厂的面试还是要适当深入一些。 这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如 用户态和内核态、系统调...[2023/4/14]

为什么计算机对浮点型数字计算存在误差

为什么计算机对浮点型数字计算存在误差? 我们输入的十进制小数在计算机中都是以二进制进行存储。比如: 我们把0.25转换为二进制 0.25 * 2 = 0.5 取0 0.50 * 2 = 1.0 取1 所以十进制0.25的二进制应当为0.01 但是我们把0.3转换为二进制存储 0.3 * ...[2023/4/12]

Http请求get与post请求方式的各种相关面试总结

转载请注明出处:   GET方法和POST方法是两种HTTP请求方法,GET方法通过URL传递参数,可以缓存,但参数长度有限,一般用于获取资源;POST方法通过表单传递参数,不能缓存,参数长度没有限制,一般用于提交数据。 1. GET和POST方法的区别   1.数据传递方式:GET方法的...[2023/4/12]

CPU内部的奥秘:代码是如何被执行的?

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:景明 我们以一段 C 代码为例,来看一下代码被编译成二进制可执行程序之后,是如何被 CPU 执行的。 在这段代码中,只是做了非常简单的加法操...[2023/3/31]

从宏观上理解计算机网络模型-坐在直升机上看网络

大家好,我是风筝 今天是轻解计算机网络系列第一解,从宏观上了解网络。主要介绍网络分成模型、基本传输过程。 学习任何一种新技术都应该是这样的顺序,先从宏观上了解这门技术的基本原理和作用。这就好像生物学家研究一种生物,不能上来就解刨吧,一定是从整体上观察了这种生物的体貌和形态。这里的宏观就像是一...[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 工作原理、如何提升域名解析速度、以及 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 和 CPU Core 有啥区别?多核 CPU?多个 CPU?

CPU 全称 Central Proce ing Unit,中央处理器,计算机的大脑,长这个样子: CPU 通过一个插槽安装在主板上,这个插槽也叫做 CPU Socket,它长这个样子: 而我们说的多核 CPU,一个 CPU 有几个核,这个核就是 Core 其实在很久之前是没有 ...[2022/12/12]

深入浅出OSI七层参考

深入浅出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]

重学计算机组成原理(十)- &quot;烫烫烫&quot;乱码的由来

程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 --- 各种计算机指令 数据结构 --- 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二进制表示的 存储在内存里面的字符串、整数、浮点数也都是用二进制表示的 ...[2019/8/19]

重学计算机组成原理(十一)- 门电路的&quot;千里传音&quot;

重学计算机组成原理(十一)- 门电路的&quot;千里传音&quot;

人用纸和笔来做运算,都是用十进制,直接用十进制和我们最熟悉的符号不是最简单么? 为什么计算机里我们最终要选择二进制呢? 来看看,计算机在硬件层面究竟是怎么表示二进制的,你就会明白,为什么计算机会选择二进制。 1 怎么做到“千里传书” 马拉松的故事相信你听说过。公元前490年,...[2019/8/19]

143
2
记录数:69 页数:1/212下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载  热播韩剧  策驰影视  秋霞影视  酷客影视  蘑菇影视  飘雪影院  韩剧TV  天天影院  泡泡影院  窝窝影视  天天美剧  影视信息  七七影视  100影视
加载更多