3000字编程入门--附带Java学习路线及视频
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核心语法
- 数据结构与算法
- 数据库MySQL
- 前端HTML5+CSS3
- JavaWeb
- SSM框架
- SpringBoot免费版--付费版(微人事作者:松哥)
- 微服务SpringCloud
- 工具-各种中间件(雷哥)
附:Java实战项目推荐(精益求精)
免费版
springboot+layui+mybatisplus+shiro仓库管理系统
springboot+layui+mybatisplus记账本小练习
付费版
6.结语
- 付费版内容酌情购买(目前我自己购买了JavaWeb版天猫商城+个人博客+微人事)--强烈安利一波
- 免费版来自B站用户贡献(拒绝白嫖下次一定,反正我是....)
- 越努力越幸运--大家一起加油
- 我怕挨打--饶过我吧
3000字编程入门--附带Java学习路线及视频的更多相关文章
- 从入门到精通,Java学习路线导航
引言最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,实在是每天回复很多人也很麻烦,所以在这里统一作个回复吧. Ja ...
- 从入门到精通,Java学习路线导航(附学习资源)
原文链接:https://blog.csdn.net/qq_42453117/article/details/100655512 引言 最近也有很多人来向我"请教",他们大都是一些 ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- java学习路线(好资源大家分享)
对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...
- 【Todo】Java学习路线(方向指导)
在网上搜了下Java学习路线(关键词:学习,因为众所周知,实践出牛人,在平时工作不怎么深入的情况下,才强调学习的方向的重要性 ^_^) 发现下面知乎这个回答写的真好.mark如下: https://w ...
- 【强烈推荐】可能是最适合你的 Java 学习路线和方法
如遇链接无法打开,建议使用 https://github.com/Snailclimb/JavaGuide/blob/master/docs/questions/java-learning-path- ...
- Java学习路线【转】
Java学习路线[转] 第一阶段:JavaSE(Java基础部分) Java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置,程序的执行过程,相 ...
- 最新java学习路线:含阶段性java视频教程完整版
最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...
- 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)
这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么.不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐视频: 下面的是黑马内部视频,我比较推荐的 ...
随机推荐
- TCP/IP 协议栈初识
原文:深入浅出 TCP/IP 协议栈 0. 简介 TCP/IP 协议栈是网络通信中一系列网络协议的综合,是核心骨架.它定义了电子设备接入因特网.以及数据在它们之间的传输方式,是一份标准.TCP/IP ...
- 查漏补缺:socket编程:TCP粘包问题和常用解决方案(上)
1.TCP粘包问题的产生(发送端) 由于TCP协议是基于字节流并且无边界的传输协议,因此很容易产生粘包问题.TCP的粘包可能发生在发送端,也可能发生在接收端.发送端的粘包是TCP协议本身引起的,TCP ...
- Windows下python3登陆和操作linux服务器
一.环境准备 python3远程连接需要用到pycrytodome和paramiko库,其中后者依赖前者,所以按照顺序来安装 1. 安装pycrytodome 1 pip install pycryt ...
- GIT 使用(二):创建仓库并提交代码
基本操作 所用命令使用 windows 下安装 git-bash 运行 Table of Contents 先决条件 已经安装了 GIT 客户端 已经设置用户信息 如果没做可以看安装和配置 获取 Gi ...
- C与C++面试易出知识点
.1. char c = '\72'; 中的\72代表一个字符,72是八进制数,代表ASCII码字符":". 2. 10*a++ 中a先进行乘法运算再自增(笔试中经常喜欢出这类运算 ...
- C++走向远洋——51(数组类运算的实现)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 达拉草201771010105《面向对象程序设计(java)》第六周学习总结
达拉草201771010105<面向对象程序设计(java)>第六周学习总结 第一部分:理论知识 1.类.超类和子类 类继承的格式: class 新类名extends已有类名一般来说,子类 ...
- es6中的属性名表达式
代码如下: 问题: 为什么我可以这样给obj1对象添加动态属性? 为什么我最终的结果是只添加了right属性? 解答: 1. 第一个问题解答如下: 我们知道在es5中给对象添加属性有两种方法,一种是通 ...
- Web图片资源的加载与渲染时机
此文研究页面中的图片资源的加载和渲染时机,使得我们能更好的管理图片资源,避免不必要的流量和提高用户体验. 浏览器的工作流程 要研究图片资源的加载和渲染,我们先要了解浏览器的工作原理.以Webkit引擎 ...
- 前端开发--nginx篇
安装和启动 Mac上搭建nginx教程 通过Homebrew 安装nginx brew install nginx 配置 添加配置文件在 /usr/local/etc/nginx/servers 目录 ...