计算机专业的那六大件:组成原理,操作系统,数据库,编译原理,计算机网络,数据结构, 其次还得加上分布式的基础知识, 因为现在的系统都变成分布式的了。如果你是做应用层开发的,那几门课程中的有些内容和日常工作关联度不大,我挑那些最重要的来说一说,也算是一个最小集合吧!

1,计算机组成原理

如果你不是做操作系统/驱动程序的,直接和硬件打交道的机会很少,因为操作系统已经把他们屏蔽掉了,提供了抽象的API给我们使用。

但是还必须理解冯诺依曼体系的结构,CPU和内存,硬盘,各种外设之间的关系,寄存器、缓存等知识。CPU有哪些指令,如何执行这些指令,如果实现数组,结构体,函数调用,这就涉及到汇编的知识。像原码,反码,补码,定点数、浮点数的表示和运算也是编程中必备的知识,几乎每种语言都要涉及。

现在很多语言都是在虚拟机上运行的,你只要是了解了计算机的组成原理,再去看哪些虚拟机,就会发现概念都是相通的。另外CPU中的缓存,缓存一致性协议,DMA的异步思想都会在应用层中有所体现。《编码》是一个更加科普性,但是也更加有趣的讲组成原理的书。

2,操作系统

操作系统是比较枯燥的, 站在应用层的角度,我认为重点是掌握操作系统对外提供的抽象,包括进程、线程,文件,虚拟内存,以及进程间的通信问题。几乎所有的编程语言都会涉及到对多进程或者多线程编程的支持, 特别是多线程的并发编程,所以必须得搞明白他们的本质是什么,线程都有哪些实现方式。得真正地体会到“进程是资源分配的最小单位,线程是调度的最小单位。” 这句话的含义。

几乎所有的编程语言都会涉及到锁和死锁,最好在最底层理解锁是怎么实现的。需要理解虚拟内存和物理内存直接的关系,分段和分页,文件系统的基本原理。对于进程的调度,页面分配/置换算法,磁盘的调度算法,I/O系统,我认为优先级比较低。

3,计算机网络

必须要理解的是这些:什么分组交换。

TCP可靠性传输原理,TCP/IP的协议细节, 三次握手,四次挥手,TCP状态转换。

几个重要的协议DHCP,UDP, ARP, DNS。

能够说出一个客户端如何在接入网络以后,通过这些协议,跨域网络和服务器通信的。

和应用层结合非常紧密的Socket知识和网络安全(对称加密,非对称加密,Hash, 数字签名,以及集大成者Https)

至于网络层的路由选择算法,链路层的各种协议,我认为优先级比较低。

以上这些知识,在你学习Redis ,Ngnix, Tomcat, LVS等软件时将有极大的帮助。

4,数据库

这个和日常工作结合极其紧密,不用我再多说,包括最基本的SQL,各种范式,事务及其隔离级别,事务的实现方式,索引及其实现方式,B+树等等。

5,编译原理

你一辈子也许都不会去写一个编译器,但是很有可能会利用现成的工具去生成/操作一个抽象语法树(AST),甚至可以会写一个DSL(领域特定语言)。所以你得理解词法分析、语法分析、语义分析,中间代码生成,代码优化这个基本编译的过程。

6,分布式的理论知识

由于现在的系统慢慢地变成了分布式, 所以又扩展出了很多相关基础知识需要学习:

6.1,数据复制与一致性:

CAP理论, BASE原则,幂等性, 2PC, TCC,Paxos , Raft , Gossip

6.2,数据分片和路由:

Hash分片:Hash取模(实际中非常常见的算法), 虚拟桶(Redis使用),一致性Hash(memcached使用)

7,最后想说的是,不能带着特别功利的目的去学习这些基础,不能想着立刻、马上就应用到实战中,从中获益。更重要的理解掌握它们背后的思想!

计算机基础学到了哪些知识,计算机基础知识汇总相关推荐

  1. 0基础学python看什么书-零基础学python编程需要看什么书?

    原标题:零基础学python编程需要看什么书? 随着互联网迅速发展,python也呈现出水涨船高的态势.近年来,python在编程语言中一直名列前茅.编程初学者纷纷选择Python作为第一语言.Pyt ...

  2. 零基础学python全彩版答案-零基础学Python(全彩版)

    商品描述: 本店出售的图书均是正版二手书,有一些笔记划线,基本是六-九品新左右,基本都没有光盘.介意者请提前咨询客服.本店所有书籍,因买家导致退货退款的,发出运费参照不包邮运费模板由买家承担.如果签收 ...

  3. 职业学校计算机主要学什么条件,职业学校计算机教学计划

    职业学校计算机教学计划 作为中等职业技术教育的学生,都应该了解计算机,掌握计算机的各种常规操作,并能应用于各行各业.以下是小编整理的职业学校计算机教学计划,欢迎阅读. 职业学校计算机教学计划1 随着计 ...

  4. 计算机都学什么数学,数学在计算机起到什么作用

    数学在计算机起到什么作用 来源:职称阁时间:2019-03-14 11:01热度: 这篇论文主要介绍的是数学在计算机起到什么作用的内容,本文作者就是通过对数学与计算机的联系的内容做出详细的阐述与介绍, ...

  5. 学计算机的学后感,关于大学生计算机学习心得体会(精选4篇)

    关于大学生计算机学习心得体会(精选4篇) 当我们积累了新的体会时,可以通过写心得体会的方式将其记录下来,这样就可以总结出具体的经验和想法.那么心得体会怎么写才能感染读者呢?以下是小编精心整理的关于大学 ...

  6. 东南大学计算机学院学办董烨,东南大学计算机教学实验中心(国家级)

    国家级实验教学示范中心 东南大学计算机教学实验中心是负责组织全校计算机基础教学.提供计算机基础教学实验和实践环境的校级实验中心,是计算机理论教学.实践教学和自主研学相结合的重要教学实验基地.实验中心的 ...

  7. 0基础学python看什么书-0基础学Python入门书籍应该看什么?

    0基础学Python入门书籍应该看什么?Python 对不少人来说是谜一样的东西不知道如何下手.从何处下手,找了很多资源几个月过去了学习陷入换乱,没没能入门Python开发.出现这种情况大多是因为没有 ...

  8. 编程没基础学python多长时间-零基础学Python的过程有多难?需要多久?

    Python是一门简单高效,应用范围广泛的计算机语言.先我们要知道Python已经算是一门相对其他编程语言而言,最适合零基础新手学习的开发语言,换句话说,如果连Python都学不进去就不要考虑进入IT ...

  9. 零基础学python看什么书-零基础学python推荐几本python学习的书籍

    原标题:零基础学python推荐几本python学习的书籍 无论是否已经学习了一些其他的编程语言,在开始学习Python时,都应该先从Python的基本概念学起,这样在之后的编程实战中就能尽量减少因为 ...

  10. 零基础学python大概要多久-零基础学python大概要多久

    Python是目前公认的全球5大流行语言之一,从云计算.大数据到人工智能,Python无处不在,同时Python被誉为神奇的"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使 ...

最新文章

  1. 2022年最新限量红包封面,炸裂的不要不要的!速度领取!
  2. oracle pi 3.14,Oracle中实现圆周率计算(一)
  3. Java虚拟机运行时栈帧结构--《深入理解Java虚拟机》学习笔记及个人理解(二)
  4. 前端性能优化经典:javascript防抖节流
  5. 深度学习知识抽取:属性词、品牌词、物品词
  6. ValueError: Duplicate plugins for name projector解决
  7. MFC Windows 程序设计(二)-初尝禁果
  8. mysql 加锁 索引_一条简单的更新语句,MySQL是如何加锁的?
  9. 对JavaScript中的 事件 进行疯狂 处理
  10. java list 时间排序吗_java collection.sort()根据时间排序list | 学步园
  11. xmpp学习使用简单介绍(二)
  12. 地理空间框架(二):大地水准面、似大地水准面、参考椭球面
  13. html图片要存在哪里,将html中的图片和html保存在一个文件里
  14. CS:APP二进制炸弹phase5
  15. php wrap,php wordwrap函数怎么用
  16. 合作式智能运输系统 车用通信系统 应用层及应用数据交互标准
  17. Could not connect to any X display.
  18. mos管散热,功率,电流参数关联
  19. 学了Python之后,美化二维码如此简单
  20. sql查询表中指定月份的数据

热门文章

  1. 划区清扫功能 小米扫地机器人_小米扫地机器人再升级 水洗滤网可反复利用
  2. java jcf查看_Java学习笔记——JCF集合框架
  3. 偏函数(Partial-Function)
  4. ShaderGraph——303摇曳的小草
  5. 数模第一次作业:层次分析法分析养殖场动物方案
  6. 为什么我劝你千万别靠接单赚钱?
  7. Oracal回顾--分析函数总结(1)
  8. 【统计分析】一文读懂假设检验
  9. xml解析库pugixml的基本用法
  10. ssl证书加密方式有哪些?