Title: 编程入门

GitHub: BenCoper

Reference: 尚硅谷-2019

Study: 文字版+视频+实战(第一个自学的网站)

Explain: 文末附带Java学习视频以及项目实战

1.简介

计算机包括硬件(hardware)和软件(software)两部分。硬件包括计算机中可以 看得见的物理部分。而软件提供看不见的指令。这些指令控制硬件并且使得 硬件完成特定的任务。

  • 程序设计

定义:创建(或开发)软件。软件包含了指令,告诉计算机做什么。

应用场景:软件遍布我们周围。除了个人计算机,飞机、汽车、手机甚至烤 面包机中,同样运行着软件。

  • 程序设计语言

软件开发人员在称为程序设计语言的强大工具的帮助下创建软件。

2.计算机硬件

总线

硬件

冯·诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯·诺依曼计算机的组 织结构,只是作了一些改进而已,并没有从根本上突破冯体系结构的束缚。冯·诺依曼 也因此被人们称为“计算机之父”。

中央处理器

  • 中央处理器(Central Processing Unit,CPU)是计算机的大脑。它从内存中获取指令,然 后执行这些指令。

  • 包括:控制单元(control unit)和算术/逻辑单元(arithmetic/login unit)。

控制单元:用于控制和协调其他组件的动作。

算术/逻辑单元:用于完成数值运算(+、-、*、/)和逻辑运算(比较)。

  • 每台计算机都有一个内部时钟,该时钟以固定速度发射电子脉冲。时钟速度越快,在给 定的时间段内执行的指令就越多。速度的计量单位是 赫兹(Hz),Hz相当于每秒1个脉 冲。随着CPU速度不断提高,目前以千兆赫(GHz)来表述。

  • 最初一个CPU只有一个核(core)。核是处理器中实现指令读取和执行的部分。一个多核 CPU是一个具有两个或者更多独立核的组件。可提高CPU的处理能力。

存储设别

  • 内存中的信息在断电时会丢失。那我们可以考虑将程序和数据永久的保存在存储设备上。当计算机 确实需要这些数据时,再移入内存,因为从内存中读取比从存储设备读取要快得多。

  • 存储设备主要有以下三种:

磁盘驱动器: 每台计算机至少有一个硬盘驱动器。硬盘(hard disk) 用于永久的保存数据和程序。

​ 光盘驱动器: CD的容量可达700MB。 DVD的容量可达4.7GB

​ USB闪存驱动器: Universal Serial Bus,通用串行总线。可以使用USB将打印机、鼠标、外部硬盘驱动器连接到计算机上。

内存

比特(bit)和字节(byte)

  • 在讨论内存前,先清楚数据是如何存储在计算机中的。

  • 计算机就是一系列的电路开关。每个开关存在两种状态:关(off)和开(on)。如果电路 是开的,它的值是1。如果电路是关的,它的值是0。

  • 一个0或者一个1存储为一个比特(bit),是计算机中最小的存储单位。

  • 计算机中是最基本的存储单元是字节(byte) 。每个字节由8个比特构成。

  • 计算机的存储能力是以字节和多字节来衡量的。如下:

    千字节(kilobyte,KB) = 1024B

    兆字节(megabyte,MB) = 1024KB

    千兆字节(gigabyte,GB) = 1024MB

    万亿字节(terabyte,TB) = 1024GB

  • 内存(也叫 Random-Access Memory,RAM):由一个有序的 字节序列组成,用于存储程序及程序需要的数据。

  • 一个程序和它的数据在被CPU执行前必须移到计算机的内存中句号

  • 每个字节都有一个唯一的地址。见右图。使用这个地址确定 字节的位置,以便于存储和获取数据。

  • 一个计算机具有的RAM越多,它的运行速度越快,但是此 规律是有限制的。

  • 内存与CPU一样,也构建在表面嵌有数百万晶体管的硅半导 体芯片上。但内存芯片更简单、更低速、更便宜。

输入和输出设备

  • 常见的输入设备:键盘(keyboard)和鼠标(mouse)
  • 常见的输出设备:显示器(monitor)和打印机(printer)

通信设备

  • 计算机可以通过通信设备进行联网。
  • 常见的设备有:
    • 拨号调制解调器:使用的是电话线,传输速度可达56 000bps(bps:每秒比特)
    • DSL(数字用户线):使用的也是电话线,但传输速度叫上面的快20倍
    • 电缆调制解调器:利用有线电视电缆进行数据传输,通常速度比DSL快。
    • 网络接口卡(NIC):将计算机接入局域网(LAN)的设备。局域网通常用于大学、 商业组织和政府组织。速度甚至可达1000Mbps 。
    • 无线网络:在家庭、商业和学校中极其常见。计算机可通过无线适配器连接到局域 网或internet上。

3.计算机发展史上的鼻祖

计算机诺贝尔奖

最近半个世纪以来,世界计算机科学界的重大进步,离不开图灵等人的 理论奠基作用和多方面的开创性研究成果。图灵是当之无愧的计算机科 学和人工智能之父。甚至认为,他在技术上的贡献及对未来世界的影响 几乎可与牛顿、爱因斯坦等巨人比肩。

图灵论文中的“用有限的指令和有限的存储空间可算尽一切可算之物” 理论让当时所有的科学家震惊

美国计算机学会(ACM)的年度“图灵奖”,自从1966年设立以来, 一直是世界计算机科学领域的最高荣誉,相当于计算机科学界的诺贝尔 奖。至今,中国人只有姚期智院士获该奖项。

计算机之父

20世纪最重要的数学家之一,在现代计算机、博弈论、核武器 和生化武器等诸多领域内有杰出建树的最伟大的科学全才之一, 被后人称为“计算机之父”和“博弈论之父”。

计算机基本工作原理是存储程序和程序控制,它是由世界著名 数学家冯·诺依曼提出的。最简单的来说,冯诺依曼理论的要点 是:数字计算机的数制采用二进制;计算机应该按照程序顺序 执行。

同样有着“计算机之父”称号的冯·诺依曼的助手弗兰克尔在一 封信中写到:“……计算机的基本概念属于图灵。按照我的看 法,冯·诺依曼的基本作用是使世界认识了由图灵引入的计算机 基本概念……”

4.操作系统

  • 操作系统(Operating System)是运行在计算机上的最重要的程序,它可以管理和控制计算机的活动。
  • 硬件、操作系统、应用程序和用户之间的关系如下图。

5.万维网

万维网(World Wide Web,www,环球信息网)常简称为Web,发明者蒂姆·伯纳 斯·李。分为Web客户端和Web服务器程序。 WWW可以让Web客户端(常用 浏览器)访问浏览Web服务器上的页面。 是一个由许多互相链接的超文本组成的系统,通过互联网访问。在这个系统中,每个有用的事物,称为一样“资 源”;并且由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。 www.sina.com

万维网是无数个网络站点和网页的集合,它们在一起构成了因特网Internet最主要的部分(因特网也包括电子邮件、Usenet以及新闻组)。它实际上是多 媒体的集合,是由超级链接连接而成的。我们通常通过网络浏览器上网观看的, 就是万维网的内容

6.Java职业发展与提升

阿里等级划分

常见码农爬上之路

附:Java成长路线图

附:Java学习视频链接(bilibili)

附:Java实战项目推荐(精益求精)

免费版

SSM实现的开发视频考试系统

SSM框架新闻管理系统实战开发教程

基于SSM+layui的汽车出租项目

springboot+layui+mybatisplus+shiro仓库管理系统

springboot+layui+mybatisplus记账本小练习

SpringBoot项目实战:企业项目管理系统

付费版

Swing+MySQL的记账软件

HTML+CSS仿天猫的前端商城

JavaWeb版天猫商城

SSM版本天猫商城

SpringBoot天猫商城

springboot纯前后端分离仓储管理系统

SpringBoot+Vue个人博客系统

微人事vhr--开源版vhr

6.结语

  • 付费版内容酌情购买(目前我自己购买了JavaWeb版天猫商城+个人博客+微人事)--强烈安利一波
  • 免费版来自B站用户贡献(拒绝白嫖下次一定,反正我是....)
  • 越努力越幸运--大家一起加油
  • 我怕挨打--饶过我吧

3000字编程入门--附带Java学习路线及视频的更多相关文章

  1. 从入门到精通,Java学习路线导航

    引言最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,实在是每天回复很多人也很麻烦,所以在这里统一作个回复吧. Ja ...

  2. 从入门到精通,Java学习路线导航(附学习资源)

    原文链接:https://blog.csdn.net/qq_42453117/article/details/100655512 引言 最近也有很多人来向我"请教",他们大都是一些 ...

  3. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  4. java学习路线(好资源大家分享)

    对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...

  5. 【Todo】Java学习路线(方向指导)

    在网上搜了下Java学习路线(关键词:学习,因为众所周知,实践出牛人,在平时工作不怎么深入的情况下,才强调学习的方向的重要性 ^_^) 发现下面知乎这个回答写的真好.mark如下: https://w ...

  6. 【强烈推荐】可能是最适合你的 Java 学习路线和方法

    如遇链接无法打开,建议使用 https://github.com/Snailclimb/JavaGuide/blob/master/docs/questions/java-learning-path- ...

  7. Java学习路线【转】

    Java学习路线[转] 第一阶段:JavaSE(Java基础部分) Java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置,程序的执行过程,相 ...

  8. 最新java学习路线:含阶段性java视频教程完整版

    最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...

  9. 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)

    这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么.不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐视频: 下面的是黑马内部视频,我比较推荐的 ...

随机推荐

  1. (转)python中join()方法

    原文:http://blog.csdn.net/weixin_40475396/article/details/78227747 函数:string.join() Python中有join()和os. ...

  2. vue基础指令了解补充及组件介绍

    v-once指令 """ v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) """ <di ...

  3. JMeter之BeanShell断言---获取时间戳

    1.创建线程组,创建一个BeanShell Sampler,在其中编写BeanShell脚本. 2.在Jmeter中,可以利用${__time(,)}时间戳函数来获取十位的时间戳,如: vars.pu ...

  4. 为什么就连iPhone、三星手机的电池都能出问题?

    近年来关于三星.苹果.华为等知名手机厂商电池爆炸的消息一直不断在媒体上报道.这在一定程度上引发了消费者的重度忧虑,也给这些知名手机厂商从一定程度上造成了信任危机.为何连这些知名品牌都无法避免手机电池的 ...

  5. Proto3:Techniques

    本文描述处理Protocol Buffer常用到的一些设计模式.你也可以给Protocol Buffers discussion group发送设计或使用问题. 流式多条消息 如果你想将多个消息写入到 ...

  6. JavaScript 预解析机制

    首先我们来看一段代码: <script> console.log(a); var a = 10; </script> 此时运行结果为   为什么会显示undefined呢?这就 ...

  7. HTTP协议 有这篇文章足够了

    HTTP 协议详解 HTTP(HyperText Transfer Protocol)超文本传输协议.其最初的设计目的是为了提供一种发布和接收HTML页面的方法. HTTP是一个客户端(用户)和服务端 ...

  8. shell 获取字符创长度&&识别当前使用的shell&&检查是否为超级用户

    1.获得字符串长度 可以使用下面的方法获得变量值得长度: length=${#value} 例如: [root@gameserver1 shell]# var=12345678 [root@games ...

  9. 聊一聊MyBatis 和 SQL 注入间的恩恩怨怨

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 ...

  10. 【技巧】歪脑筋优化flexbox瀑布流布局方案

    效果先行 需求 在大量"不定宽"元素并排的布局模式下,上图是我们想要的最佳布局但是FlexBox布局虽然枪弹但并不能完全呈现以上布局,于是我们需要结合FlexBox作下小的改动即可 ...