计算机组成原理
计算机组成原理 什么是计算机?计算机俗称电脑,是一种能够执行指令、进行数据处理和存储的电子设备,可以按照人们预先设定的程序进行运算、逻辑判断和数据处理,并根据输入的指令和数据生成相应的输出结果。 冯·诺依曼体系结构(1)1944年夏天的一天,冯·诺依曼在火车站候车时遇到了戈尔斯坦,当时戈尔斯坦是美国弹道实验室的军方负责人,正在参与ENIAC计算机的研制工作。他向诺伊曼介绍了ENIAC的研制情况,诺伊曼被这项工作吸引并认识到了它的重要性。随后,诺伊曼通过戈尔德斯廷中尉加入了ENIAC的研制小组,并带领一批富有创新精神的年轻科技人员朝着更高的目标努力。 (2)1945年6月,冯·诺依曼以“关于EDVAC的报告草案”为题,起草了长达101页的总结报告,其中明确奠定了新机器由五个部分组成,包括:运算器、逻辑控制装置、存储器、输入和输出设备,并描述了这五部分的职能和相互关系。这份报告被视为计算机发展史上的里程碑,宣告了电子计算机时代的开始。 (3)1946年2月14日,世界上第二台电子计算机、第一台通用计算机ENIAC(电子数字积分计算机)诞生,整台计算机共使用大约6000个电子管和大约120 ...
CSS笔记
CSS概括(1)CSS- 层叠样式表单,定义如何显示HTML元素 (2)用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言 (3)当浏览器读到一个样式表时候,他就会按照这个样式表来对文档进行格式化(渲染) (4)CSS注释:/*这是注释*/ HTML添加CSS内联方式1<div style="background: red"></div> 嵌入方式12345<style>.test{ background: red;}</style> 链接方式123<head> <link rel="stylesheet" type="text/css" href="style.css"></head> 导入方式123<style> @import url(style.css);</style> CSS 选择器基础选择器标签名选择器123标签名 ...
HTML笔记
HTML概括HTML(Hyper Text Markup Language)超文本标记语言,是一种用于创建网页的标记语言。本质上是浏览器可识别的规则,按照规则写网页,浏览器根据规则渲染我们的网页,对于不同的浏览器,对同一标签可能有不同的解释。网页文件的扩展名: .html或者.htm HTML文件介绍1234567891011121314<!--声明为HTML5文档--><!DOCTYPE html><html lang="zh-CN"> <head> 整个页面的属性,比如标题 指导浏览器解析的标签, 比如编码 引入外部文件的标签,引入css或者javascript让他们产生关系 <meta charset="UTF-8"> <title>网页标题</title> </head> <body> 需要展示的信息 <!--注释内容--> </b ...
JavaScript笔记
JavaScript概括(1)JavaScript是脚本语言,跨平台、面向对象,不需要编译,由浏览器直接解析并执行。 (2)Java是编译语言,跨平台、面向对象,需要编译成字节码文件才能运行 (3)常用作用:改变页面内容、对表单进行校验、修改指定元素的属性值 (4)JavaScript中的语句要以分号 ;为结束符,如果一行上写多个语句时,必须加分号用来区分多个语句。 (5)单行注释:// 注释内容 (6)多行注释:/* 注释内容 */ JavaScript引入方式链接方式1234<!--引入本地js--><script src="js/test.js"></script><!--引入外部js--><script src="http://xxx.test.js"></script> 嵌入方式1234<!--嵌入js--><script> alert("hello world")</s ...
JavaWeb笔记
JavaWeb基础JavaWeb技术体系 前端知识学习目录 技术 简介 HTML 结构,页面骨架,静态页面 CSS 表现,负责页面画面美化渲染 JavaScript 行为,负责页面行为,使网页可以交互,如验证之类的 jQuery JavaScript 库,方便操作BOM与DOM的功能 JSON 一种文件格式,字符串 Ajax 异步请求 Node.js 不是一门编程语言,是一个执行 JavaScript 代码的工具,提供了前端程序的运行环境可以把Node.js理解成是运行前端程序的服务器,等同于Java中的Tomcat webpack 前端模块打包机,基于 Node.js 开发出来的打包工具,是目前前端项目工程化的具体解决方案,类似Java中的Maven Vue 前端MVVM框架,免除原生JavaScript中的DOM操作,简化书写 B/S架构与C/S架构B/S架构(Browser/Server)B/S架构(Browser/Server Architecture)是指浏览器 ...
Linux笔记
Linux概括Linux简介(1)Linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍,现在很多的企业级的项目都部署到Linux/unix服务器运行 (2)目前主要的操作系统有Windows、android、Mac、iOS、车载系统、Linux等 (3)Linux的主要发行版有:centose、Redhat(红帽)、Ubuntu(乌班图)、Suse、红旗unux Linux目录介绍在Linux世界里,一切皆文件,文件系统是采用级层式的树状目录结构,各个目录存放的内容是规划好的,不要乱放文件 目录 简介 /bin 存放着最经常使用的命令。 /home 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 /etc 用来存放所有的系统管理所需要的配置文件和子目录 /usr 非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。 /usr/bin 系统用户使用的应用程序。 /usr/ ...
Vue笔记
Vue基础Vue简介(1)Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写 (2)Vue基于MVVM(Model-View-ViewModel)思想,通过数据驱动视图,实现了数据的双向绑定,将编程的关注点放在数据上 数据驱动视图:当数据发生变化时,会驱动视图会自动更新; 双向数据绑定:通过v-model指令将表单输入元素与Vue实例中的数据进行双向绑定,实现数据的同步更新 (3)Vue 的版本 版本 简介 Vue1.x 几乎被淘汰,不再建议学习与使用 Vue2.x 目前企业级项目开发中的主流版本,未来1 ~ 2年内可能会被逐渐淘汰 Vue3.x 2020-09-19 发布 MVVM思想 概念 简介 Mode 模型(Model),当前页面渲染时所依赖的数据源和业务逻辑。 View 视图(View),表示当前页面所渲染的 DOM 结构。 ViewModel 视图模型(ViewModel),连接视图与数据的中间件 Vue核心要素 核心要素 描述 响应式数据 数据发生变化时,相关视图会自动更新 模板语 ...
面试题-Redis
[TOC] 基础Redis是什么? Redis是一个开源的基于内存的键值存储系统 Redis的应用场景? 缓存:Redis被广泛用作缓存层,可以将热门的数据缓存在内存中,以提高读取数据的速度。它可以减轻数据库负载,并节省数据库访问的时间。 计数器:Redis支持原子操作,可以用来实现计数器功能,如网站访问量统计、文章点赞数、粉丝数等 排行榜:Redis的原子操作和快速读写特性使其非常适合实现计数器和排行榜功能。比如可以用Redis来记录文章的点赞数、用户的关注数,并实时更新排名。 会话管理:对于需要管理用户会话的应用程序,Redis可以用来存储和跟踪会话数据。它可以轻松地存储和检索用户身份验证信息、登录状态等会话相关的数据。 消息队列:Redis支持发布/订阅模型,可以用作简单的消息队列系统。应用程序可以使用Redis的PUB/SUB功能进行消息的发布和订阅,实现解耦和异步通信。 分布式锁:Redis支持分布式锁的实现,可以用于解决多个进程或服务器之间的竞态条件问题。通过使用Redis的原子操作和过期时间设置,可以实现高效的分布式锁机制。 Redis的基本数 ...
面试题-MySQL
[TOC] 基础部分SQL查询关键词执行的顺序 SQL执行顺序:from→on→join→where→group by→agg_func→with→having→select→distinct→order by→limit FROM:指定查询的数据源,即表名或视图名。 ON:指定连接条件,用于连接多个表。 JOIN:根据连接条件,将多个表的数据进行关联。内连接(INNER)、左外连接(LEFT)、右外连接(RIGHT) WHERE:指定查询的条件,只有符合条件的行才会被返回。 GROUP BY:按照指定的列或表达式对数据进行分组。 AGG_FUNC:对每个组进行聚合操作。 WITH:可选WITH CUBE或WITH ROLLUP,在 GROUP BY 子句中使用,生成更多的汇总行。 HAVING:类似于 WHERE,但是作用于已经分组的结果集,可以使用聚合函数进行筛选。 SELECT:选择要返回的列或计算的表达式。 DISTINCT:去除重复的行。不指定默认为all,表示返回所有行 ORDER BY:按照指定的列对结果集进行排序。升序排序(ASC)或者降序排序(DESC)。 LIMI ...
面试题-JavaSE
[TOC] Java基础相关面试题JDK、JRE、JVM的关系? JDK提供了开发Java程序所需的工具和资源;JRE提供了运行Java程序所需的最小环境;而JVM则是Java程序的运行平台 JVM: Java虚拟机,负责解释和执行Java字节码 JRE:Java运行时环境,是在计算机上执行Java应用程序所需的最小环境,包含JVM和类库。JRE = JVM + JavaSE标准类库 JDK:Java开发工具包,它包含了用于开发、编译和调试Java程序的工具。JDK = JRE + 开发工具集 Java八种数据类型有哪些? byte(字节型)short(短整型)int(整型)long(长整型)float(单精度浮点型)double(双精度浮点型)char(字符型)boolean(布尔型) 基本数据类型 占用存储空间(字节) 默认值 byte 1 0 short 2 0 int 4 0 long 8 0L float 4 0.0f double 8 0.0d char 2 ‘\u0000’(空字符) boolean 1 false ...
面试题-Web开发与常用框架
[TOC] JavaWebB/S架构与C/S架构是什么? B/S架构(Browser/Server)B/S架构(Browser/Server Architecture)是指浏览器/服务器架构,也被称为Web架构。在B/S架构中,应用程序的前端界面(通常是浏览器)与后端服务器进行交互。 交互流程:在B/S架构中,前端界面是通过浏览器上的Web页面来呈现给用户,通常使用HTML、CSS和JavaScript等技术来实现。用户通过浏览器发送请求(如点击链接、填写表单等),请求会被发送到服务器端进行处理。服务器端进行相应的业务逻辑处理,并返回数据或页面给浏览器,浏览器再将这些数据或页面展示给用户。 适应场景:B/S架构适用于跨平台和分布式环境,因为它只需要一个浏览器作为客户端界面,不需要安装额外的客户端软件 示例应用:常见的网站和在线应用一般采用B/S架构,如电子商务网站、新闻网站等 C/S架构(Client/Server)C/S架构(Clien ...
面试题-微服务与中间件
[TOC] 微服务什么是微服务? 微服务就是将单体的应用程序,拆分为了多个独立、自治的应用程序,不同的应用程序称为不同的微服务。每个服务都专注于解决特定的业务需求,可以独立部署、扩展和维护。这些微服务通过不同的技术手段达到互相协作,提高了系统的维护性和扩展性 微服务的问题及解决? 服务注册与发现不同的微服务在不同的服务器,他们的IP地址,端口等信息可能不一样,在没有服务注册与发现组件时,确实需要将每个微服务的 IP 地址和端口信息写死在配置文件中或者代码中,每次新增或者移除服务时,需要手动修改相关联的服务的配置文件或代码。基于这个问题,有了服务注册发现组件(Eureka、Consul、ZooKeeper等) 服务注册:每个微服务在启动时向注册中心注册自己的网络地址和元数据信息。注册中心会维护一个动态的服务实例列表。 服务发现:服务实例从服务注册中心查询可用的服务实例列表,并根据需要选择合适的服务实例进行服务调用 配置中心在传统的架构中,配置信息通常以硬编码的方式嵌入到应用程序的代码或配置文件中,这样一旦需要修改配置信息,就需要重新编译和部署整个应用程序。而配置中心则提供了一个集中 ...












