- 博客(22)
- 收藏
- 关注
原创 操作系统:互斥,对临界区的保护
首先介绍一个基础概念,临界区:临界区是指进程中的一段需要访问共享资源并且当另一个进程处于相对应代码区域时便不会被执行的代码。互斥:当一个进程处于临界区并访问共享资源时,没有其他进程会处于临界区并访问任何相同的共享资源。死锁两个或以上的进程,在相互等待完成特定任务,而最终没法将自身任务进行下去。饥饿一个可执行的进程,被调度器持续忽略,以至于虽然处于可执行但不被执行。...
2020-08-17 18:01:54
691
原创 面试问题:常见的http状态码
首先,将状态码根据开头进行分类:1**:请求正在处理2**:请求成功200:请求正在处理204:请求处理成功,但没有任何资源返回给客户端,常用于单向通信206: 请求成功,响应报文中包含由 Content-Range 指定范围的实体内容3**:重定向,需要附加操作已完成请求301:永久重定向,表示请求的资源已经永久的搬到了其他位置302:临时重定向,表示请求的资源临时搬到了其他位置303表示请求资源存在另一个URI,应使用GET定向获取请求资源303功能与302一样,区别只是
2020-08-17 15:15:57
312
原创 数据库事务和隔离级别
事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。和事务有关的操作只有DML(insert,update,delete)。也就是事务只保证数据的完整性和安全性。数据库四大特性:原子性,一致性,隔离性,持久性。原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;一致性: 执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是
2020-08-15 23:29:52
121
原创 计算机网络:TCP-UDP对比
这里写目录标题UDPTCP对比二级目录三级目录UDPUDP的特点:基于Internet IP协议实现了复用/分解简单的错误检测“Best effort”服务(尽力而为),UDP段可能丢失非按序到达无连接UDP发送方和接收方之间不需要握手每个UDP段的处理独立于其他段常用于流媒体应用(他们有以下特点)容忍丢失速率敏感UDP还用于DNSSNMP如何在UDP上实现可靠数据传输在应用层增加可靠性机制应用特定的错误恢复机制TCP项目
2020-08-15 14:01:48
2070
原创 线程:线程的意义
进程用来管理资源,资源调度的基本单位。线程是进程当中的一条执行流程,是CPU调度的基本单位。优点:一个进程可以同时存在多个线程线程可以并发执行线程之间共享资源缺点:一个线程崩溃,则整个进程崩溃。比如浏览器就不会选择线程模式,因为一旦一个崩溃,就全部崩溃。进程拥有一个完整的资源平台,线程只独享必不可少的资源比如寄存器和栈。但同样拥有三态:运行,就绪,等待。能够减少并发执行的时间和空间开销。线程的实现方式:用户线程:在用户空间实现 (进程管理)内核线程:在内核中实现 (操作系统管理)
2020-08-14 15:46:01
508
原创 进程:进程描述
进程定义:一个具有独立功能的程序在一个数据集合上的动态执行过程。进程包括:程序代码(对应具有独立功能的程序)程序处理的数据(对应一个数据集合)程序计数器(记录当前执行的指令)一组通用寄存器的当前值,堆,栈。一组系统资源(打开的文件等)程序和进程的关系:程序是进程的基础(对应一个具有独立功能的程序)程序的每次执行构成不同的进程(对应动态执行过程,因为每个数据集合可能不同)进程是程序功能的体现一个程序可以对应多个进程;一个进程可以调用多个程序。区别:一静(代码的集合)一动(
2020-08-14 00:09:15
123
原创 mysql: 基本操作
表相关DESC 表名 :查看表结构SELECT * FROM 表名; 查看表内容SELECT userid as ‘id’ FROM users; 使用as 起别名SELECT userid * 12 as ‘id’ FROM users; 使用运算符操作列show create table 表名:查看建表语句;条件查询条件查询包括常用的<,>,=,>=,<=等基本操作。注意不等于操作可以用<>,!=。这两个都是可以的。除此之外还有一些字符串:
2020-08-11 14:50:06
91
原创 mysql面试问题集锦
数据库范式第一范式:没有重复的列第二范式:非主属性完全依赖于主属性,而不能只依赖主属性的一部分第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。BC范式:满足BC范式的关系将消除任何属性(主属性和非主属性)对关系键的部分函数依赖和传递函数依赖。Sql 语句分类DQL(数据查询语言):selectDML(数据操作语言):insert,delete,update,对表中的数据进行增删改。DDL(数据定义语言):Create,drop,alter,对表结构进行增删改.
2020-08-11 12:22:59
97
原创 面试提问:流水线机制和滑动窗口协议?
可靠传输的停等协议导致传输效率很差,有什么方式可以改进呢?可以使用流水线传输:允许发送方在收到如图所示,停等协议,在接收到用户的确认信息之前,一直处于空闲转台,信道的利用效率很低。为此我们可以使用流水线的机制提高效率,也就是在等待过程中接着发送若干分组,同时在信道中传播。这要求要有更大的序列号范围,同时要求发送方和接收方拥有更多的缓存空间。常见的滑动窗口协议有两种:GBN和SR...
2020-08-08 21:31:27
291
原创 面试提问:如何实现可靠传输?
如果要实现可靠传输,就要做到不错不丢不乱。1. 不错通过增加校验和,来判断数据是否发生错误,当发生错误需要通知发送方,引入确认机制,对于正确的回复ACK,错误的回复NAK。所以在这里要增加停止等待协议。当接收方收到NAK时,可以进行重传。同时这里要保证ACK和NAK消息段不发生错误。如果又增加一个校验和判断的话,会陷入套娃,所以可以采用超时重传机制 ,如果NAK或者ACK坏掉了,就直接重传。这样子可能会产生重复分组。所以这里需要引入序列号,通过序列号判断是否重复了。因为增加了序列号,所以可以通过A
2020-08-08 19:45:38
376
原创 计算机网络:传输层的基本理论和基本机制1
四种基本理论和机制复用/分用如何工作无连接分用面向连接的分用可靠数据传输机制流量控制机制拥塞控制机制二级目录三级目录这里是为了讲解TCP和UDP做准备。复用/分用如果某层的一个协议对应直接上层的多个协议/实体,则需要复用/分用传输层都是为了应对应用层中每一个主机当中有多个不同的socket,接收端需要进行分用,将获取的报文分发给不同的进程,发送端需要进行复用,将多个进程的消息封装在进程中,再进行发送。如何工作主机接收到IP数据报(datagram)每个数据报携带源IP地址、目的IP地址。
2020-08-08 18:55:16
156
原创 计算机网络:网络核心
这里写目录标题数据交换类型电路交换多路复用计算机网络的组成中,其中之一就是网络核心,网络核心的功能就是进行数据交换。计算机网络中,网络边缘通过接入网络连接到网络核心,然后网络核心通过数据交换,将数据传送到目的地。数据交换类型电路交换报文交换分组交换其中分组交换是在报文交换的基础上,将报文进行分割,然后进行传输,所以我将对这两个几种进行解释。电路交换最典型的电路交换就是电话网络也就是我们日常打电话。它包括三个阶段:建立连接(呼叫,电路连接)通信释放连接(拆除电路)这是一种独占
2020-07-05 22:25:23
1981
原创 计算机网络:概述
计算机网络概述计算机网络基本概念什么是计算机网络什么是网络协议计算机网络结构Internet网络结构今天重新学习了一下计算机网络相关知识,在这里做一个概述。计算机网络基本概念什么是计算机网络定义:计算机网络就是互连的,自治的计算机集群。首先,计算机网络是通信技术和计算机技术紧密结合的产物。互连的意思是互联互通,自治的意思是无主从关系,也就是每一台计算级都是相互连通的,并且他们之间是一种平等的关系。实际上,计算机之间是通过交换网络连接的。Internet就是目前的最大的一个交换网络,他由三部分
2020-07-03 22:42:29
127
原创 集合源码解析:Collection
Collection逐句解析 静态常量解析Collection是所有集合类的一个基类,所以解析集合源码,先解析这个基础类。静态常量解析int size()返回集合的数量,如果集合大于Integer.MAX_VALUE,就返回Integer.MAX_VALUE。boolean isEmpty()如果集合中没有元素,返回true。boolean contains(Object o)如果集合中包含特定元素,返回true.如果元素类型不匹配,抛出ClassCastException,
2020-06-25 16:30:55
110
原创 虚拟内存发展以及基本概念讲解
虚拟内存覆盖技术交换技术目标:方法:遇到的问题覆盖与交换的比较虚拟内存程序的局部性原理实现基本特征虚拟页式内存管理页表项增加项缺页中断虚拟内存性能虚拟内存出现的原因是为了实现能够在更小的内存中运行更大的程序,在,也就是解决内存不够的问题。在早期的时候,采用手动覆盖的技术,只把需要的指令和内存保存在内存当中,后来,出现自动交换技术,将暂时不能执行的程序,放入硬盘当中,但是整个程序从内盘中取入取出,...
2020-04-06 00:26:15
392
原创 mongodb基础操作:二
mongodb基础操作数据分页显示数据更新操作数据分页显示在MongoDB里面的数据分页显示也是符合与大数据要求的操作函数:skip(n):表示跨国多少数据行limit(n):取出的数据行的个数限制//分页显示(第一页)db.students.find().skip(0).limit(5).sort({"age",-1})/pretty();//分页显示(第二页)db.stude...
2020-04-01 19:00:43
87
原创 Hadoop入门:一 基础介绍
hadoop入门hadoop介绍hadoop是什么Hadoop三大发行版本Hadoopde 优势Hadoop组成Hadoop组成大数据技术生态体系hadoop介绍hadoop是什么1)Hadoop是一个由Apache基金会开发出的分布式系统基础框架2)主要解决海量数据的存储和海量数据的分析计算问题3)广义上来说,Hadoop通常是指一个更广泛的概念-----Hadoop生态圈,包括Hba...
2020-03-29 10:40:48
271
2
原创 mongodb基础操作:一
插入数据var deptData = { "deptno":30, "dname":"市场部"}//插入db.dept.insert(deptData)//更新,mongo会维护一个id是由系统自动维护的db.dept.update({"_id": ObjectId("5e7ee30bf356f6839cf22f65")},deptData)//查看dp.dept.find(...
2020-03-28 14:48:27
80
原创 代理模式Java实现
代理模式实现基础代理设计模式动态代理设计模式cglb实现动态代理这是自己的学习总结,学习网址为:阿里云java高级开发(https://edu.aliyun.com/lesson_36_513).基础代理设计模式package model;import java.lang.reflect.Constructor;interface ISubject { /** * 这个接口...
2020-03-21 01:02:23
83
原创 工厂模式java实现
工厂模式实现传统工厂模式范例:传统工厂使用new范例: 反射实现工厂类添加泛型实现工厂类接下来会使用java来实现工厂模式传统工厂模式如果是你自己写的接口,要想取得本接口的实例化对象,最好使用工厂类来设计。但我么也需要知道传统工厂所带来的问题范例:传统工厂使用newinterface IFruit { public void eat();}class Apple implemen...
2020-03-19 22:05:06
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人