-
Java面试知识点汇总
2019-05-07 15:36:18为了找到心仪的工作而努力吧 最近在刷各种面经,把学会的知识点汇总一下以便查漏补缺: 未完待续…为了更加美好的明天而努力吧
由于我不断补充,现在知识点已经比较庞杂,很多人私信我,说那一篇全是知识点太过庞杂,问我有没有整合的。正好春招和秋招在即,我花费了几个月的时间,把知识点整合成不同的模块并针对不同的知识点以及结合本人自己的面试经历,整合出这篇java面试全攻略:史上最全!20/21届春招/秋招 实习/校招 JAVA面试全攻略!复习回顾这一篇就够了!。希望对大家有所帮助!
最近在系统回顾Java知识,把看过的知识点汇总一下以便查漏补缺:
文章目录
java基础——基础知识
Java面试知识点(三)Java中的private、protected和public
Java面试知识点(十一)关于integer和string的==、equals判断
Java面试知识点(十五)java中的异常(exception、throw、throws、try···catch)
Java面试知识点(三十四)string、stringbuilder和stringbuffer
Java面试知识点(十七)final、static、abstract 区别与联系
Java面试知识点(十四)java文件中的同级类、内部类、匿名内部类
java基础——集合框架/泛型/容器
Java面试知识点(一)hashmap、hashtable和hashset
Java面试知识点(一)(补充)ConcurrentHashMap深度理解
Java面试知识点(一)(补充)如何让HashMap线程安全
HashSet/HashMap、TreeSet/TreeMap、LinkedHashSet/LinkedHashMap 区别
java基础——多线程
Java面试知识点(八十七)Java中的ThreadLocal
java基础——框架基础:注解/反射/流行框架
Java面试知识点(七)优化 Hibernate 所鼓励的 7 大措施
Java面试知识点(八十一)Spring的IOC和AOP概念和实现原理
Java面试知识点(八十二)仿照 Spring 实现简单的 IOC
Java面试知识点(八十三)仿照 Spring 实现简单的 AOP
Java面试知识点(八十四)Spring bean 的生命流程
Java面试知识点(八十五)仿写Spring 进阶之 AOP和IOC协作
java基础——面向对象:继承/多态/封装
java基础——设计模式
java基础——JVM/类加载
Java面试知识点(四)初始化执行代码顺序(包含static块和构造块)以及类方法和实例方法
java基础——I/O
Java面试知识点(四十一)I/O 模型 ——阻塞、非阻塞、多路复用、异步
Java面试知识点(八十六)JAVA中 BIO 与 NIO、AIO
网络编程和计网
Java面试知识点(六)forward 和 redirect
Java面试知识点(六十)TCP协议 (可靠保证、TCP、UDP、拥塞、ARQ)
Java面试知识点(六十二)socket、session、url、http、状态码
Java面试知识点(七十)Socket编程——C/S架构基础入门
Java面试知识点(七十一)Socket编程进阶——简易聊天室
数据库
Java面试知识点(十八)结果集 (ResultSet)全面解析
操作系统
Linux IO 模式及 select、poll、epoll 详解
数据结构
【Java 面试那点事】
这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!
这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】
面试路上,你不孤单!
未完待续…
-
java基础知识点07_文件与IO流
2020-11-09 18:56:11java基础知识点07_文件与IO流 File类的四个静态成员变量: public static void main(String[] args) { //路径分隔符,windows系统为; linux系统为: String pathseparator = File.pathSeparator; char ...java基础知识点07_文件与IO流
File类的四个静态成员变量:
public static void main(String[] args) { //路径分隔符,windows系统为; linux系统为: String pathseparator = File.pathSeparator; char pathseparatorchar = File.pathSeparatorChar; //文件分隔符, windows系统为\ linux系统为/ String separator = File.separator; char separatorchar = File.separatorChar; System.out.println(pathseparator); System.out.println(pathseparatorchar); System.out.println(separator); System.out.println(separatorchar); }
运行结果:
; ; \ \
pathSeparator 路径分隔符 ; String类型 pathSeparatorChar 路径分隔符 ; char类型 separator 文件分隔符 \ String类型 separatorChar 文件分隔符 \ char类型
获取功能的方法:
public String getAbsolutePath() 获取绝对路径 public String getPath() 获取构造路径(构造方法中传递的路径) public String getName() 获取文件名称 public String length() 获取文件大小(单位:字节)
判断功能的方法:
public boolean exists() 判断文件或目录是否存在 public boolean isDirectory() 判断是否是目录(不要求一定要存在) public boolean isFile() 判断是否是文件(不要求一定要存在)
创建和删除功能的方法:
public boolean createNewFile() 创建新文件(若文件已存在,则不会创建并返回false) public boolean delete() 删除文件或目录 public boolean mkdir() 创建单级文件夹 public boolean mkdirs() 创建多级文件夹
遍历目录(文件夹)的方法:
public String[] list() 返回String数组,存储该文件夹中所有的子文件和子目录的名称 public File[] listFiles() 返回File数组,存储该文件夹中所有的子文件和子目录的File对象
IO流
流 输入流 输出流 字节流 InputStream OutputStream 字符流(1个字符=2个字节) Reader Writer 抽象类 字节输出流 OutputStream 的方法:
close() flush() write(byte[] b) write(byte[] b,int off,int len) write(int b)
最常用子类 FileOutputStream
构造方法1(直接传递文件路径字符串): FileOutputStream fos = new FileOutputStream("D:\\temp\\a.txt"); 构造方法2(传递文件对象): File myfile = new File("D:\\temp\\a.txt"); FileOutputStream fos = new FileOutputStream(myfile); 写数据时,会将10进制的整数97转换成2进制1100001存入文件,用文本编辑器打开时,其会根据编码表将字节转换为字符a fos.write(97); 释放资源,清空内存 fos.close(); 数据追加写(在构造方法中添加一个true的boolean参数,就实现了数据追加写,参数为false则会覆盖源文件) FileOutputStream fos = new FileOutputStream("D:\\temp\\a.txt",true); fos.write("你好,BLU".getBytes()); fos.close(); 数据换行写 FileOutputStream fos = new FileOutputStream("D:\\temp\\a.txt",true); fos.write("\r\n".getBytes()); fos.write("你好,BLU".getBytes()); fos.close();
抽象类 字节输入流 InputStream 的方法:
int read() int read(byte[] b) void close()
最常用子类 FileInputStream
//文件内容:abc 读取结果:97 98 99 -1 FileInputStream fis = new FileInputStream("D:\\temp\\a.txt"); //read方法每一次读取都只会读取1个字节,下一次会读取下一个字节,末尾之后读取到的值都为-1 int len1 = fis.read(); System.out.println(len1); int len2 = fis.read(); System.out.println(len2); int len3 = fis.read(); System.out.println(len3); int len4 = fis.read(); System.out.println(len4); fis.close(); 循环优化: FileInputStream fis = new FileInputStream("D:\\temp\\a.txt"); int len = 0; while((len = fis.read())!=-1) { System.out.println((char)len); }
//文件复制(每次复制一个字节) FileInputStream fis = new FileInputStream("D:\\temp\\a.txt"); FileOutputStream fos = new FileOutputStream("D:\\temp\\b.txt"); int len = 0; while((len = fis.read())!=-1) { fos.write(len); } fos.close(); fis.close();
//文件加密 package com.blu.file01; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Test01 { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("D:\\temp\\a.txt"); FileOutputStream fos = new FileOutputStream("D:\\temp\\b.txt"); jiami(fis,fos); fos.close(); fis.close(); } public static void jiami(FileInputStream fis,FileOutputStream fos) throws IOException { byte[] bytes = new byte[204800]; int len = 0; while((len=fis.read(bytes))!=-1) { for(int i=0;i<204700;i++) { bytes[i]++; } fos.write(bytes, 0, len); } } public static void jiemi(FileInputStream fis,FileOutputStream fos) throws IOException { byte[] bytes = new byte[204800]; int len = 0; while((len=fis.read(bytes))!=-1) { for(int i=0;i<204700;i++) { bytes[i]--; } fos.write(bytes, 0, len); } } }
-
计算机组成原理核心知识点总结&面试笔试要点
2019-08-13 14:04:07作为一名计算机专业的学生,计算机组成原理、计算机网络、操作系统这三门课程可以说是专业核心基础课,是至...而且很多互联网公司在笔试和面试中都会涉及到这三门课程的知识点,因此我通过视频学习对这三门课程就行...作为一名计算机专业的学生,计算机组成原理、计算机网络、操作系统这三门课程可以说是专业核心基础课,是至关重要的,其内容是一名合格的coder所必备的知识集;非科班出身的程序员要是想要有所提升,也需要认真学习这三门课程,可以快速形成计算机知识的结构体系,理解计算机底层原理,在工作实践中可以借鉴优秀的设计;而且很多互联网公司在笔试和面试中都会涉及到这三门课程的知识点,因此我通过视频学习对这三门课程就行复习巩固,同时分三篇博客记录总结。
计算机组成原理
一 计组之概述篇
-
计算机的发展历史
第一阶段(1946-1957):电子管计算机 特点:集成度低,体积大,功耗高,运行速度慢,操作复杂。
第二阶段(1957-1964):晶体管计算机 特点:相对电子管计算机,体积小,速度快,功耗低,可靠性高,配备显示器。
第三阶段(1964-1980):集成电路计算机 特点:操作系统诞生。
第四阶段(1980-至 今):超大规模集成电路计算机 特点:集成度高,速度快,体积小,价格低,用途广泛。
第五阶段( f u t u r e) :生物计算机&&量子计算机 … -
计算机的分类
超级计算机、大型计算机、迷你计算机(普通服务器)、工作站、微型计算机(个人计算机) -
计算机的体系与结构
冯·诺伊曼体系:将程序指令和数据一起存储的计算机设计概念结构,存储器+控制器+运算器+输入设备+输出设备。
现代计算机的结构:以存储器为核心,解决冯·诺伊曼体系瓶颈问题(CPU与存储设备之间的性能差异)。
-
计算机的层次
-
计算机的字符与编码集
字符编码集的历史:ASCII码 --> Extended ASCII码
中文编码集:GB2312、GBK、Unicode(统一码、万国码)
二 计组之组成篇
-
计算机的总线与I/O设备
a.计算机的总线(Bus)
概述:连接多个设备或者接入点的数据传输通路。
作用:解决不同设备之间的通信问题。
分类:片内总线(高集成度内部的信息传输线)、系统总线(细分为:数据总线&地址总线&控制总线,是CPU、主内存、IO设备、各组件之间的信息传输线)
总线的仲裁:为了解决总线使用权的冲突问题,三种方法:链式查询、计时器定时查询、独立请求。
b.常见的输入输出设备
字符输入设备:键盘
图形输入设备:鼠标、数位板、扫描仪
图像输出设备:显示器、打印机、投影仪
c.输入输出接口的通用设计
数据线:I/O设备与主机进行数据交换的传送线(单向&双向)。
状态线:I/O设备状态向主机报告的信号线。
命令线:CPU向I/O设备发送命令(读写信号、启动停止信号)的信号线。
设备选择线:主机选择I/O设备进行操作的信号线。
d.CPU与I/O设备的通信
程序中断:提供低速设备通知CPU的一种异步的方式,CPU可以在高速运转的同时兼顾低速设备的响应。
直接存储器访问(DMA):
-
计算机的存储器
a.存储器的分类:
按照存储介质:半导体存储器(内存、U盘、固态硬盘)、磁存储器(磁带、磁盘)
按照存取方式:随机存储器RAM(随机读取,与位置无关)、串行存储器(按顺序查找,与位置有关)、只读存储器ROM(只读不写)
b.存储器的层次结构
缓存-主存层次:局部性原理,在CPU与主存之间增加一层速度快容量小的Cache,解决主存速度不足的问题。
主存-辅存层次:局部性原理,主存之外增加辅助存储器,解决主存容量不足的问题。
局部性原理:是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
c.计算机的主存储器
内存RAM(随机存取存储器Random Access Memory):通过电容存取数据,掉电将丢失所有数据。
d.计算机的辅助存储器
e.计算机的高速缓存
工作原理:命中率是衡量缓存的重要性能指标,理论上CPU每次都能从高速缓存取数据的时候,命中率为1。
高速缓存的替换时间:当缓存没有数据,需要从主存载入数据的时候。
高速缓存的替换策略:随机算法、先进先出算法(FIFO)、最不经常使用算法(LFU)、最近最少使用算法(LRU)。 -
计算机的CPU
a.计算机的指令系统
机器指令的形式:操作码(指明指令所要完成的操作)+地址码(给出操作数或操作数的地址);
机器指令的操作类型:数据传输、算术逻辑操作、移位操作、控制指令;
机器指令的寻址方式:指令寻址(顺序寻址+跳跃寻址)、数据寻址(立即寻址(速度快)+直接寻址(寻找操作数简单)+间接寻址(寻址范围大,速度慢))
b.计算机的控制器
作用:控制器是协调和控制计算机运行的。
组成:程序计数器(存储下一条指令的地址)、时序发生器(发送时序脉冲)、指令译码器(控制器的主要部件之一,翻译操作码+地址码)、指令寄存器(控制器的主要部件之一,从主存或缓存存取计算机指令)、主存地址寄存器(保存当前CPU正要访问的内存地址单元)、主存数据寄存器(保存当前CPU正要读或写的主存数据)、通用寄存器(比一般专用寄存器大,可以暂时存放或传送数据或指令,可保存ALU的运算中间结果)。
c.计算机的运算器
作用:进行数据运算加工。
组成:数据缓冲器(输入缓冲暂时存放外设送过来的数据,输出缓冲暂时存放送往外设的数据)、ALU(算术逻辑运算)、状态字及寄存器(存放运算状态和运算控制信息)、通用寄存器(比一般专用寄存器大,可以暂时存放或传送数据或指令,可保存ALU的运算中间结果)。
d.计算机指令执行的过程
指令执行过程:取指令-分析指令-执行指令
CPU的流水线设计:因运算器和控制器不能同时工作,CPU的综合利用率并不高,所以CPU的流水线设计可以提高CPU的利用率,提高大概3倍。
三 计组之计算篇
- 进制运算的基础知识
进位制:即进制,是一种计数方式,亦称进位计数法,有限种数字符号来表示无限的数值。
传送门——>关于进制转换推荐看文 - 二进制数据的表示方法
a.有符号数和无符号数
原码表示法:0表示正数,1表示负数,规定符号位位于数值的第一位;表达简单,容易理解,但运算复杂。
b.二进制的补码表示法
定义:
引入目的:为了消除减法(未完全实现)引入补码的概念,使用正数代替负数。
规律:负数的补码等于反码+1,如十进制数-7,反码表示为1,1000,补码表示为1,1001。
举个小例子计算题:
c.二进制的反码表示法
定义:
引入目的:找出原码和补码之间的规律,消除转换过程中的减法操作。
规律:负数的反码等于原码除符号位外按位取反,如十进制数-7,原码表示为1,0111,反码表示为1,1000。
举个小例子计算题:
d.小数的二进制补码表示
定义:
上述两个整数的反码补码计算规律同样适用。 - 二进制数据的运算
a.定点数与浮点数
定点数:小数点固定在某个位置。
浮点数的表示格式:符号、阶码、尾数
浮点数的表示范围:单精度± (2-2^-23) × 2127
双精度± (2-2^-52) × 21023 其中大于浮点数绝对值最大的数为上溢,小于绝对值最小的数据为下溢。
浮点数的规格化:尾数使用纯小数、尾数最高位必须是1。
b.定点数的加减法运算
加法运算:数值位与符号位一同运算,并将符号位产生的进位自然丢掉(模2^n舍去)。
举两个小栗子计算题(整数和小数):
减法运算:将B[补码]转换成-B[补码]来计算,其中-B[补码]=B[补码]连同符号按位取反,末尾加1,例如B[补码]=1,0010101 ,则-B[补码]=0,1101011。
举个小栗子计算题:
c.浮点数的加减法运算
步骤:对阶(使得阶码一致,尾数才可以运算)–>尾数求和–>尾数规格化–>舍入–>溢出判断
运算:先进行对阶,后与定点数的加减法相同。
举个小栗子计算题:
d.浮点数的乘除法运算
乘法:阶码相加,尾数求积。
除法:阶码相减,尾数求商。
四 计组之实践篇
- 实现双向链表
单向链表:节点1–>节点2–>节点3–>节点4–>节点5 其中每一个节点都有下一个节点的地址或引用。
双向链表:节点1⇋节点2⇋节点3⇋节点4⇋节点5 每一个节点都有上一个和下一个节点的地址和引用。
双向链表优点:可以快速找到上/下节点,也可以快速去掉链表中的某一个节点。
传送门——>实现双向链表 - 实现FIFO缓存置换算法
淘汰缓存时,把最先进入链表的结点淘汰掉。
传送门——> 实现FIFO缓存置换算法 - 实现LRU缓存置换算法
传送门——> 实现LRU缓存置换算法 - 实现LFU缓存置换算法
传送门——> 实现LFU缓存置换算法
五 重要知识点及笔&面试常考题目
传送门——>计算机组成原理试题1
传送门——>计算机组成原理试题2
传送门——>计算机组成原理试题3 -
-
微机原理与接口技术知识点整理复习--纯手打--纯干货--
2018-07-03 20:22:01明天就要考试了,来一波知识点整理。都会了,期末考试你不过你来找我! 第一章 1.按微处理器的字节分类 4 位微处理器 8 位微处理器 16位微处理器 32位微处理器 2.这个必须背,不是简答就是简答,肯定出...明天就要考试了,来一波知识点整理。都会了,期末考试你不过你来找我!
第一章
1.按微处理器的字节分类
4 位微处理器 8 位微处理器 16位微处理器 32位微处理器
2.这个必须背,不是简答就是简答,肯定出简答
3.系统软件给一个实例判断是否是系统软件! 常见的系统软件: 操作系统、程序语言设计、语言处理程序、数据库管理程序、系统辅助处理程序
第二章
1.微处理器的性能指标
a.字长 CPU能同时处理的数据位数 b.主频 CPU的时钟频率,主频越高,运算速度越快
2.8086的编程结构(掌握)这个必须背,简答题必出
从功能上8086分为两部分,总线接口部分(BIU) 和 执行部件(EU) a. 总线接口部件 a) 4个16位的段地址寄存器 i. CS 代码段地址寄存器 ii. DS 数据段地址寄存器 iii. ES 附加段地址寄存器 iv. SS 堆栈段地址寄存器 b) 16位的指令指针寄存器 IP c) 20位的地址加法器 d) 6字节的指令队列缓冲器 b. 执行部件 a) 4个通用寄存器 AX、BX、CX、DX b) 4个专用寄存器 i. 基数指针寄存器 BP ii. 堆栈指针寄存器 SP iii. 源变址寄存器 SI iv. 目的变址寄存器 DI c) 标志寄存器 FR d) 算数逻辑部件ALU (算术运算和逻辑运算)
3.8086的标志寄存器共16位,7位未用,,,知道什么时候表示什么意义即可
a. 状态标识6个 a) 符号标志 SF b) 零标志 ZF c) 奇偶标志 PF d) 进位标志 CF e) 辅助进位标志 AF f) 溢出标志 OF b. 控制标志3个 a) 方向标志 DF b) 中断允许标志 IF c) 跟踪标志 TF 有符号有意义:ZF SF PF OF 无符号有意义:PF ZF CF AF
4.8086的总线周期–填空啦选择啦
由4个时钟周期组成,时钟周期是CPU最基本的时间计量单位 4个时钟周期称为4个状态:T1、T2、T3、T4 Tw放在T3和T4之间
5.8086的最小模式典型配型 (掌握数量、名称、芯片型号、功能)(掌握)这个你不背,老师都不放过你,简答题必出不是最大就是最小
a.有1片8284A,作为时钟发生器,提供时钟信号和同步ready信号和reset信号 b.有3片8282或74LS273,用来作为地址锁存器,暂存地址 c.有2片8286/8287,作为总线收发器,增加数据总线的驱动能力 d.有1片8086,作为微处理器,负责CPU对存储器和IO端口的数据传输以及指令的执行
6.8086的最大模式典型配置(掌握)要求同最小模式
a. 有两个或多个8086,作为微处理器,功能同最小模式 b. 有1片8284A,作为时钟发生器,功能同最小模式 c. 有3片8282或74Ls273,用来做地址锁存器,功能同最小模式 d. 有2片8286/8287,作为总线收发器,功能同最小模式 e. 有1片8288,作为总线控制器,控制总线是否让出 f. 有1片8259A,作为中断控制器,控制是否处理中断
7.中断–填空啦选择啦
a. 中断分类: a) 硬件中断/外部中断 i. 非屏蔽中断 – 引脚NMI ii. 可屏蔽中断 – 引脚INIR b) 软件中断/内部中断 b. 中断向量和中断向量表 a) 中断向量表中最多容纳256个中断向量 b) 一个中断向量占4个存储单元 c) 查向量表时,中断类型号*4为起始地址,连续4个存储单元
8.中断响应过程 填空选择
INAT引脚两次有效,第一次有效为中断请求信号,第二次有效为发送中断类型号
9.存储器 主要填空题,掌握编址方法
a. 物理地址 = 段地址 * 16 + 逻辑地址 b. I/O编址的两种方法: a) 存储器映像 b) I/O端口独立编址
第三章
1.Pentium的寻址方式(掌握)一定出填空,给你指令问什么方式,看清题目描述就好
a. 立即数寻址 a) 立即数只能作为源操作数,不能作为目的操作数 b. 寄存器寻址 c. 输入/输出端口寻址 a) I/O直接寻址 b) I/O间接寻址 d. 存储器寻址 有效地址EA = 基址 + 变址 * 比例因子 + 位移量 a) 直接寻址 MOV AX , [1070H] b) 寄存器间接寻址 MOV AX , [BX] c) 寄存器相对寻址 MOV AX , [SI + 100] d) 基址加变址的寻址 MOV AX , [BX + SI] e) 相对的基址加变址寻址 MOV AX , [BP + SI + 100] f) 相对的带比例因子的变址寻址 IMUL EBX , [ESI * 4 + 7] g) 基址加比例因子的变址寻址 MOV EAX , [EBX][ESI * 4] h) 相对的基址加比例因子的变址寻址 MOV EAX , [EDI * 4][EBP + 80]
2.指令的注意事项 MOV—判断题一定出
a) 不能在两个内存单元之间传送数据 b) 不能从一个段地址寄存器向另一个段地址寄存器发送数据 c) CS、IP、EIP寄存器不能作为目的操作数
第四章
1.随机存取存储器RAM
a. SRAM a) 触发器构成 b. DRAM a) 电容构成
2.只读存储器 ROM—可能会出简答题吧
a. 掩膜型ROM b. 可编程只读存储器PROM c. 可擦除、可编程只读存储器EPROM d. 可用电擦除的可编程只读存储器E2PROM e. 闪烁存储器
3.存储器片选信号的产生方法,,简单题常客,优点缺点,原理特点
a. 线选法 a) 电路简单 b) 直接用地址线做为片选信号,每条地址选一个芯片 c) 用于容量小、存储芯片也少的小系统中 d) 整个存储器的地址不连续,空间浪费大 e) 同一单元可对应不同的地址 b. 全译码法 a) 存储单元是唯一的,不会出现地址重叠 b) 只要选择的好,可以保证地址的连续 c) 电路复杂 c. 部分译码法 a) 简化译码电路,容易实现 b) 会有地址重叠的问题,浪费空间 c) 如果组织的好,也可以保证地址的连续性 d. 混合译码法 a) 因为包括了线选法,所以也有地址不连续和地址重叠的问题
4.存储器的容量扩充方法----填空题
a. 数据宽度的扩充 b. 字节的扩充
5.内存按照字访问—判断啦选择啦填空啦
a. 对准状态 a) 要求起始地址为偶数地址 b. 非对准状态 a) 由于提供的对字访问的地址为奇地址造成的
6.Cache的组织方式 (特点、大体原理) (掌握)–简答题一般会出
a. 全相联方式 a) 主存的一个区块可能映像到Cache的任何一个地方 b. 直接映像方式 a) 主存的一个区块只能映像到Cache的一个对应的地方 c. 组相连方式 a) 将Cache分为均等容量的几路,每一路包含许多组,各路中,组的数量和编号相同,每一组又包含1个或多个区块。 b) 主存的一个区块只能映像到Cache的指定组号和指定块号的区块,但可以映像到不同路中的相应区块
第五章
1.接口按照功能分类
a. 使CPU正常工作所需要的辅助电路 b. 输入/输出接口
2.CPU和输入/输出设备之间的信号–记住它,填空选择一定有啊
a. 数据信息 b. 状态信息 c. 控制信息
3.I/O端口
定义:CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器 编址方式:与存储器统一编址方式和I/O端口独立编址方式
4.CPU和外设之间的数据传送方式 (原理 、 特点) (掌握)一定考,有点迷,没整理好
a. 程序方式 a) 条件传送方式 b) 无条件传送方式 b. 中断方式 c. DMA方式 a) 特点 i. 是一个接口电路 ii. 能够控制系统总线 iii. 操纵外设和存储器之间的数据传输
第六章
1.串行通信的方式
a. 根据方向划分 a) 半双工方式 b) 单工方式 c) 全双工方式 b. 根据数据格式划分 a) 同步方式 (同步字符 最多两个) 通信双方要求同一个时钟信号 b) 异步方式 (一个起始位,停止位(1 , 1.5 , 2),奇偶校验位)
2.可编程串行通信接口8251A基本性能
a. 同步方式 a) 可用5、6、7和8位来代表字符 b) 能够自动检测同步字符,从而实现同步 c) 允许同步方式下增加奇偶校验位进行校验 b. 异步方式 a) 也可用5、6、7和8位来代表字符 b) 用1位做奇偶校验位 c) 在异步方式下自动为每个数据增加一个启动位,并根据编程为每个数据增加1个、1.5个或2个停止位
3.8251A的初始化(掌握)好好看看
4.8251A在异步模式下模式寄存器中的关系,,,填空题啦时钟频率 = 波特率因子 * 波特率 8251 内部地址 c/d TxD 数据发送 RxD 数据接收
5.可编程并行通信接口8255A,一定考,相信我,100%编程题
a. 内部结构 a) 3个8位数据端口: 端口A、 端口B、 端口C b) 端口C通过控制命令被分为两个4位端口,分别用来给端口A和端口B提供控制信号和状态信号 b. 控制字 a) 方式选择控制字 b) 端口你C置1 / 置0控制字 c. 工作方式 a) 方式0、方式1、方式2 b) 端口A可工作在三种方式中的任意一种 c) 端口B只能工作在方式0或方式1 d) 端口C配合端口A和端口B工作 e) 只有端口A工作在方式2 d. 应用实例(掌握) (掌握) (掌握) a) 作为连接打印机的接口 课本233页 b) 传输数据
第七章
1.8259A的编程结构(掌握)a. 控制部分 a) 4个8位寄存器,存放初始化命令字ICW1-ICW4 b) 3个8位寄存器,存放操作命令字OCW1-OCW3 b. 处理部件 a) 中断请求寄存器IRR (保存8个中断信息) b) 中断优先级裁决器PR (比较优先级大小) c) 当前中断服务寄存器ISR (记录)
2.8259A的工作方式,设置优先级的方式(特点、原理) (掌握) (掌握)简答题啊
a. 全嵌套方式 a) 最常用的工作方式,中断请求按照优先级0~7进行处理,0级最高,7级最低 b) 中断优先级裁决器将收到的中断请求与当前中断服务寄存器的IS位比较,判断新收到的是否比当前的正在处理的中断的优先级高,如是,则进行中断嵌套 b. 特殊嵌套方式 a) 与全嵌套方式相比,只有一点差别,当处理某一级中断时,如果有同级中断请求,也会给予响应 c. 优先级自动循环方式 a) 一般用在系统中的多个中断源优先级相等的场合。 b) 在这种方式下,优先级队列是变化的,一个设备受到中断服务以后,它的优先级自动降为最低 d. 优先级特殊循环方式 a) 与优先级自动循环相比,只有一点不同,就是一开始的最低优先级和最高优先级是由编程确定的。
3.几个8259A级联可以控制几个中断–填空题的常客
1个控制 8 个中断 2个控制 8 – 1 + 8 = 15 3个控制 8 – 2 + 8 * 2 = 22 4个控制 8 – 3 + 8 * 3 = 29 X个控制 8 – x + 8 * (x - 1) = ? x <= 8
####4.8259A的初始化流程(掌握) (掌握)-记住它
初始化说明: 1.ICW1写入偶端口,ICW2~ICW4写入奇端口 2.ICW1~ICW4的设置次序固定 (16位和32位系统中,ICW4必须设置;只有在级联的情况下,设置ICW3) 3.ICW1和ICW2须设置,ICW3和ICW4非必须 4.在级联时,主片和从片各设置ICW3 5.对于每个8259A,ICW1和ICW2是必须要设置的 ICW3 的设置为中断类型号的高5位,中断类型号的低三位决定了中断请求从哪个引脚进入
第八章
1.DMA控制器初始化
a. 将数据传输缓冲区的起始地址或结束地址送到地址寄存器中 b. 将传输的字节数、字数或双字数送到计数器中
2.8237A的编程结构
通道内最大传输64KB a. 4个独立的通道,每个通道包含 1).当前地址寄存器 16位 2).基本地址寄存器 16位 3).当前字节计数器 16位 4).基本字节寄存器 16位 5)模式寄存器 8 位 b. 4个通道公用控制寄存器和状态寄存器
3.8237A工作时个各信号的配合引脚变化(掌握)一定考,课本261页
a. 作为从模块工作时 b. 作为主模块工作时 地址16位
4.8237A的工作模式
a. 单字节传输模式 b. 块传输模式 c. 请求传输模式 d. 级联传输模式
第九章
1.16位计数器范围二进制 最大65536 BCD码 最大10000
2.8253/5254的工作模式
a. 定时 a) 模式2 分频器 周期性的脉冲 b) 模式3 方波发生器 b. 计数 a) 模式0 计数结束产生中断 b) 模式1 可编程的单稳态触发器 c) 模式4 软件触发的选通信号发生器 d) 模式5 硬件触发的选通信号发生器
3.8253/5254的应用举例 (编程题) (掌握) (掌握) (掌握)第二个必考编程题,加油
第十章
1.D/A转换器 方法 a,b 及特点
a. 由并联电阻和运算放大器构成的DA转换器 每个电阻都不一样 b. T型权电阻网络和运算放大器 只有R 和2R (最常见) c. DA转换器的指标 a) 分辨率 反映了D/A转换器的灵敏度,指辨别最小电压增量的能力 b) 转换精度 绝对转换精度(程度)、相对转换精度(物理量) c) 转换速率和建立时间 反应转换速率 d) 线性误差
2.A/D转换器
a. AD转换涉及的参数 a) 分辨率 能够分辨最小信号的能力 b) 转换精度 反映了A/D转换器的实际值接近理想值的精确程度 c) 转换率 完成一次A/D转换器所需要的时间的倒数 b. AD转换的方法及特点 a) 计数式AD转换 简单,速度慢 b) 双积分式AD转换 抗干扰能力强 , 速度不算快 c) 逐次逼近AD转换 速度最快 d) 用软件和DA转换器来实现AD转换 速度较快
第十一章
1.键盘结构
a. 最简单的键盘结构 --- 引脚连接 b. 键盘的矩阵式结构 ----矩阵连接
2.键的识别
a. 行扫描法 b. 行反转法
第十五章
1.计算机总线的分类及应用 常见的a. 内部总线 cpu总线 a) 用来连接片内运算器和寄存器等各大部件 b) 也叫片内总线 b. 局部总线 PCI ISA EISA a) 连接主机板上的各主要部件 b) 可以通过扩展插槽连接各种适配器,如 卡,声卡、网卡、图像卡等 c. 系统总线 a) 连接各CPU插件板和其他总线主模块 b) 最流行的系统总线是MULTIBUS、STDBUS和VME d. 外部总线 USB SCSI RS-232-C EIDE a) 微型机与外设之间的通信总线
2.总线的性能指标
a. 宽度 一次可同时传输的数据位数 b. 总线频率 总线工作时每秒钟能传输数据的次数 c. 传输率 总线工作时每秒钟能传输的字节数
文档地址:点击跳转
-
-
蓝桥杯知识点汇总:基础知识和常用算法
2020-01-21 14:59:45此系列包含蓝桥杯(软件类)所考察的绝大部分知识点,算法,和写算法题必须学会的JAVA的基础语法,API,对想从C/C++转到JAVA组以及初学算法的同学很有帮助。 -
计算机网络知识点汇总(谢希仁 第七版)
2018-09-18 17:34:34写在前面 这篇博客是当时在大二的时候为了学习计网总结的一篇学习笔记,其实当时的做法和抄书差不多,但是时隔两年的时间没想到有这么多的 同学会来关注学习,实在受宠若惊; 现在我已经大四,而且刚刚经历过秋招... -
【1】Java基础-知识点1~68
2019-11-22 22:36:02知识点1:LinkList和ArrayList有什么区别? 1、共同点 2、不同点 知识点2:HashMap的底层原理,取模跟哈希值冲突了怎么办? 知识点3:java中static应用的场景 知识点4:key为null是如何存入到hashMap中的 知识... -
-
js知识点汇总
2019-11-03 20:58:421.本门课的作用(JavaScript的作用)所有基于Web的程序开发基础 2.一种计算机客户端脚本语言,主要在Web浏览器解释执行。 3.浏览器中Javascript,用于与用户交互,以及实现页面中各种动态特效 ... -
-
Python基础知识点梳理
2020-02-03 22:18:11python常见知识点梳理 摘要: 本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象。python的详细语法介绍可以查看官方编程手册,也有一些在线网站对python语法进行了比较全面的介绍,比如菜鸟教程: ... -
Python 常用基础知识点(一)—— 基础知识点
2020-12-27 15:14:04Python 常用基础知识点(一)—— 基础知识点编码格式设置常用转义字符运算符(非常规)常用常量运算符优先级数据分类迭代器 & 生成器匿名函数集合作用域模块 本文主要讲解 python 开发中常用到的基本语法知识点... -
高等数学(下)知识点总结
2019-03-26 19:12:20高等数学(下)知识点总结 首先我们学习了空间解析几何。平面的三种方程适用于不同类型的题目: 类比平面解析几何,不难得出如下的夹角与距离的概念: 研究完平面,我们研究直线。直线也有下面三种方程: ... -
java基础知识点05_异常
2020-08-18 19:54:18java基础知识点05_异常 异常的超类:java.lang.Throwable 异常处理机制 捕获: int a = 1; int b = 0; try { System.out.println(a/b); } catch (ArithmeticException e) { System.out.println("程序出现异常:... -
java基础知识点03_数组
2020-08-16 22:16:05java基础知识点03_数组 数组: 声明数组: int[] nums; 实例化数组: new int[10]; 给数组中的元素赋值: nums[0]=1; nums[1]=2; ... nums[9]=10; 获取数组的长度:nums.length 获取数组中某个元素的值:nums[9]... -
ASP入门知识点讲解
2018-08-17 15:36:43从零基础知识开始讲解ASP的各类基础语法和IIS服务器的搭建,ASP作为你的入门级的编程语言,是你最方便的...我们讲解到的每个知识点,都进行现场实 战、演示、讲解;同步提供所有讲解的源代码供学员们下载学习研究! -
剑指Offer——知识点储备-设计模式
2016-11-07 15:58:32剑指Offer——知识点储备-设计模式设计模式设计模式的六大原则 (1)单一职责原则(有且仅有一个原因引起类的变化); (2)里氏替换(任何父类出现的地方子类都可以替换); (3)依赖倒置(依赖抽象而不是依赖具体... -
Android客户端与服务器端的json数据交互(内含大量知识点)
2012-09-15 21:01:40Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。 -
java基础知识点02_流程控制
2020-08-16 16:58:48java基础知识点02_流程控制 用户交互类Scanner: next()方法: 从有效字符开始,以空白作为结束符,所以不能得到带空格的字符串 public static void main(String[] args) { Scanner scanner = new Scanner(System... -
Java基础面试知识点总结
2017-04-10 22:46:26笔者之前对每部分的内容 对做了比较深入的学习以及代码实现,基本上比较全面地讲述了每一个Java基础知识点,当然可能有些遗漏和错误,还请读者指正。 更多关于Java后端学习的内容请到我的CSDN博客上查看: ... -
剑指Offer——京东校招笔试题+知识点总结
2016-09-13 22:06:02剑指Offer——京东校招笔试题+知识点总结笔试感言 经过一系列的笔试,发觉自己的基础知识还是比较薄弱的,尤其是数据结构和网络,还有操作系统。工作量还是很大的。做到精确制导的好方法就是在网上刷题,包括牛客和... -
计算机网络核心知识点总结&面试笔试要点
2019-08-21 22:22:23计算机网络之基础篇 一、计算机网络概述 1.什么是计算机网络 计算机网络主要由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。... -
Java进阶(二十六)公司项目开发知识点回顾
2016-04-07 09:23:52公司项目开发知识点回顾 前言 “拿来主义”在某些时候并不是最佳选择,尤其是当自己遇到问题的时候,毫无头绪。 在一次实验过程中,需要实现数据库的CRUD操作。由于之前项目开发过程中,自己就曾进行过此操作。故... -
知识点整理,MySQL面试题
2020-03-11 12:28:25整理了一些互联网大厂的面试题,这些面试题经常会被问到,也是作为Java工程师需要掌握的一些知识点,毕竟理论和实践的结合,才是王道,分片整理,每天嗑些知识点,快乐每一天,如果对你有帮助,记得点个关注和点个赞... -
数据库基本知识点总结
2017-11-21 13:43:48希望学过数据库但长时间不用的同学根据这些知识能够回忆和重拾,没学过的同学能掌握一些数据库的基础知识。 第一节 一、相关概念 1. Data:数据,是数据库中存储的基本对象,是描述事物的符号记录。 ... -
【Java面试知识点】Java面试知识点汇总
2017-08-24 20:02:12【Java面试知识点】Java面试知识点汇总Java基础知识Java包装类型和字符串Java集合框架Java异常Java多线程与并发库Java IO和NIOJava最佳实践的面试问题Java虚拟机Java6-Java7-Java8的新特性 -
java面试知识点——基础
2019-08-13 10:16:46java面试知识点——基础 java面试知识点解析(一)——基础知识篇
-
智联万物,京东IoT技术创新与实践
-
STM32——MDK4与MDK5中对于数据类型的不同
-
Redis数据库入门与使用
-
51单片机C语言1602万年历电路图.doc
-
转行做IT-第2章 HTML入门及高级应用
-
Java 的堆、栈、方法区
-
CentOS 7 安装PHP 5.4.16
-
2018-2020年青岛理工大学818西方经济学考研真题
-
zzulioj 1017: 判断正整数位数
-
Java学习路线,好的学习路线和好的方法,能让我们少走些弯路
-
四舍五入(c++实现)
-
eclipse swt包
-
EDA与模电实验报告
-
index.html
-
易语言开发通达信DLL公式接口
-
京东主页html模板
-
实训12-数组2
-
如何提高 Gatsby Cloud 在国内的访问速度?
-
小白自学Photoshop美工人像抠图平面设计全套教程
-
EIA-364-101 Attenuation Test Procedure for Electrical Connectors,Sockets,Cable