WenLiangBaoBlog

个人博客


  • 首页

  • 标签7

  • 归档62

  • 搜索

面试自记

发表于 2020-07-22 | 更新于 2022-05-12

Integer面试问题

arraylist 和linklist 的区别

hashtable和hashmap的区别

spring 过滤器、拦截器、监听器的使用场景

Quartz

io集合

js动态扩展

Linux 权限

springMVC常用注解

@Controller 表明该类为控制类

@RestController 相当于@Controller + @ResponseBody

@ResponseBody 用于类和方法中,用在类中表示类中所有方法的返回值为Json串,用于方法上表示此方法的返回值为json串

@RequestMapping 映射http请求url到java的方法。参数有

​ path: url 的相对路径

​ value:映射请求的参数,缩小主映射范围。

​ method: url请求类型。其中类型分为(GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS,TRACE)中的一个

​ consumes: url请求必须的Content-Type类型。

​ produce:url请求返回的类型。

@PostMapping

@GetMapping

@PutMapping

@DeleteMapping

​ 如果在类上加了@RequestMapping,其他类上加了别的映射注解,那么到该方法的请求地址就是类上的映射注解的path+方法上的映射注解的path

​ 如@GetMapping(“/user/{id}”) 表示给请求url中的/user/后的片段取了个名为id,这个片段在参数中可以用@PathVariable注解获得到

​ 如@GetMapping(“/user/{id:\d+}”) 表示通过正则表达式来限制URL中请求资源类型,这里表示id只能为数字

@RequestParam: 用于方法的参数,表示映射请求参数到Java的参数,它有多个参数选项,一般常用的参数选项有:

​ name: 表示映射请求的参数名,它会从请求的参数中找到和name指定的参数名的参数值,然后赋予方法中的参数。

​ required: 值为true时表示参数必须有,false时则表示参数不必须有也可以。

​ defaultValue:默认值

@PathVariable 用于方法的参数,它会从映射指定的url片段到java的参数中,一般常用的参数选项有:

​ name:表明要指定哪一个url片段

​ required:url片段中是否必须要有该片段

​ 示例:假如方法头部添加了@GetMapping(“/\user/**{id}”),方法的参数中有一个@PathVariable(name=”id”, required=true)String idNo参数,那么表明请求url中必须得有{id}该片段,且会把该片段赋给idNo**参数

@RequestParam 和@RequestBody区别

  1. @RequestParam接收的参数是来自requestHeader中,即请求头

  2. @RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容

  3. @RequestBody接收的参数是来自requestBody中,即请求体

  4. 一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。

  5. GET请求中,因为没有HttpEntity,所以@RequestBody并不适用。

    POST请求中,通过HttpEntity传递的参数,必须要在请求头中声明数据的类型Content-Type

JAVA 常用API

io

java中的输入输出流分为字节流和字符流

字节流主接口为 InputStream OutputStream

字符流主接口为 Reader Writer

字节流中常用的类有 FileInputStream BufferedInputStream

​

数字-电子-计算机操作系统

发表于 2020-05-27 | 更新于 2020-05-29

操作系统概论

操作系统的概念

计算机系统

knowledge point:

1.计算机系统是一种可以按用户要求接收和存储信息、自动进行数据处理并输出结果信息的系统。

2.广义的计算机系统包含机械式系统和电子式系统。

3.电子式系统可以分为模拟式和数字式计算机系统。本篇博客讨论的是数字电子计算机系统,也可简称为计算机系统

操作系统的定义

操作系统的特征

研究操作系统的观点

操作系统的功能

操作系统的体系结构

Windows操作系统的体系结构

Unix操作系统的体系结构

Linux操作系统的体系结构

Android操作系统的体系结构

操作系统的发展

手工操作

监控程序

多道批处理

分时与实时系统

Unix通用操作系统

个人计算机操作系统

Android操作系统

操作系统分类

批处理操作系统

分时系统

实时操作系统

嵌入式操作系统

个人计算机操作系统

网络操作系统

分布式操作系统

操作系统设计

操作系统的设计过程

操作系统的设计目标

操作系统的结构设计

操作系统的结构

操作系统运行环境

处理器

处理器的一些常识:

操作系统做为一个程序需要在处理器上运行。
如果一个计算机系统只有一个处理器,我们称之为单机系统。如果有多个处理器我们称为多处理器系统。
计算机处理器都有自己的指令系统。

处理器的构成

处理器一般由运算器、控制器、一系列的寄存器以及高速缓存构成。

运算器:用来实现指令中的算术和逻辑运算
控制器:负责控制程序运行的流程,取指令、维护处理器的状态、处理器与内存的交互等。
寄存器:存储处理器执行指令过程中暂时需要存储的数据、地址以及指令信息等。它具有比内存更快的访问速度但是由于寄存器集成在微处理器的芯片中,所以它的存储空间很有限。

根据用户使用可以为寄存器分类为:

用户可见寄存器

见名知意,此寄存器用来存储用户控制的数据。

用户可以通过高级编程语言使用

数据寄存器:

1.也称为通用寄存器
2.用于各种算术逻辑指令和访存指令。

地址寄存器:

1.用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。

条件码寄存器:
1.保存处理器操作结果的各种标记位。如算术运算产生的溢出、符号等。

控制和状态寄存器

用于控制处理器的操作,一般由具有特权的操作系统使用。

由具有特权的操作系统使用

程序计数器:用于取出将要取出的指令的地址。
指令寄存器:包含最近取出的指令。
程序状态字:记录了处理器的运行模式信息等。

处理器基本工作方式

处理器的基本工作方式可由指令执行执行过程描述

指令执行的基本过程:如下图

指令根据功能可划分为

访问存储器指令:负责处理器和存储器之间的数据传输
I/O指令:负责处理器和I/O模块之间的数据传送和命令发送
算术逻辑指令:用以执行有关数据的算术和逻辑操作
控制转移指令:可以指定一个新的指令的执行起点
处理器控制指令:用于修改处理器状态,改变处理器工作方式等

特权指令和非特权指令

特权指令和非特权指令存在于多用户多任务多通道的操作系统中。
特权指令:普通用户程序无权访问使用,操作系统可以访问使用。
用户可以通过陷入(Trap)使用特权指令。
陷入:用户将处理器状态切换为操作系统运行的特权状态,然后由操作系统运行拥有特权指令的程序。这个过程称为陷入。
系统可通过处理器状态标识判断当前执行的程序是一般应用还是系统指令
特权或非特权指令这种指令使用架构需要硬件的支持

处理器的工作状态

管态:拥有特权的级别,可以执行特权指令。有时被称为:核心态、内核态、系统态
目态:拥有普通的权利级别,如一般的用户程序就是在目态模式下运行的
举例:英特尔公司的X86系列处理器支持4个处理器特权级别:R0、R1、R2、R3

它们4者间的关系如下:
$$
r0⊇r1⊇r2⊇r3
$$

处理器工作状态的转换

目态转换为管态

使用中断技术,并将PSW中的处理器状态设为管态即可

管态转换为目态

同样也是使用中断+PSW中修改处理器状态

程序状态字(PSW)

为了解决处理器当前工作状态的问题。

中断/异常

计算机中相关的硬件部分

内存储器

存储系统

存储器的类型

微型计算机中大部分采用半导体存储器,其大致可分为如下两种类型

读写型存储器(RAM)

knowledge point:

1.这种类型的存储器也被称作随机访问存储器

2.它可以随时进行读或写的操作

3.RAM的全称(random access memory)

只读型存储器(ROM)

knowledge point:

1.一般使用情况下只能读取其中的数据,要想对其进行写的操作需要使用专门的写入机。

2.PROM 是一种可编程的只读存储器,可以使用特殊的PROM写入器对其进行数据的写入。

3.EPROM 也是一种只读存储器,可以使用特殊的紫外光照射将其中的数据清除。使用特殊的EPROM写入器对其进行数据的写入。

4.ROM的全称(read only memory)

存储分块

knowledge point:

1.存储的最小单位被称为“二进位”,他包含的信息为0或1。

2.存储的最小编址单位是字节。一个字节等于8个二进位。

3.计算机系统会把存储器中的空间分块,有时块也被称为物理页。块的大小由机器确定。

存储器的层次结构

存储器层次化结构的由来:

因为人们对计算机存储器的需求是这样的,速度越快越好、容量越大越好、制造价格越便宜越好。而现实中速度、容量、价格这三者间是存在二律悖反的。有了速度就得牺牲价格和容量,相反同理。

既然不能达到最优,那如何权衡三者使用呢?答案是采用层次化的存储结构。图2-2代表了计算机存储器的层次化结构

图2-2

存储器的保护

内存中的数据是需要被保护的不然会出现资源的破坏从而导致系统奔溃或程序奔溃。

要实现存储保护,必须要有硬件的支持。

界地址寄存器是被广泛使用的一种存储保护技术。下面咱们看看它是如何工作的。

在处理器中设置一对界存储器,分别是上限界存储器和下限界存储器。每当处理器访问内存时,硬件自动将被访问的内存地址与界寄存器进行对比,如果越界就会产生程序中断。如图2-3所示,阐述了界地址寄存器的保护策略运行流程

图2-3

系统调用

1…67
WenLiangBao

WenLiangBao

个人技术总结。(*^_^*)温故而知新,可以为师矣

62 日志
7 标签
Creative Commons
© 2024 WenLiangBao
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Mist v7.0.0