自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(372)
  • 资源 (1)
  • 收藏
  • 关注

原创 艺术~安全至上(SQL注入、CSRF攻击、DDoS攻击)

文章目录前言SQL 注入前言处于现在这个互联网时代,一些在web开发中常见的漏洞我也必须重视起来,比如下面我介绍的第一个问题sql注入问题。如果这个问题我们不注意,那我们的数据可能是有风险全部暴露出去的,而且导致这个问题还很简单,只需要在select上增加一个or 1=1 即可。SQL 注入...

2021-03-23 23:46:00 1598 7

原创 大数据~大数据预处理整体架构(数据清洗、数据集成、数据转换、数据消减)

文章目录前言数据清洗数据集成数据转换数据消减前言近年来,信息技术迅猛发展,尤其是以互联网、物联网、信息获取、社交网络等为代表的技术日新月异,促使手机、平板电脑、pc 等各式各样的信息传感器随处可见,虚拟网络快速发展,现实世界快速虚拟化,数据的来源及其数量正以前所未有的速度增长。中国的数据规模将超过美国位居世界第一。中国成为数据大国并不奇怪,因为中国是人口大国、制造业大国、互联网大国、物联网大国,这都是最活跃的数据生产主体,未来几年,中国成为数据大国也是逻辑上的必然结果。数据预处理主要包括数据清洗(D

2021-03-23 19:29:47 7979

原创 艺术~如何保证数据100%发送、幂等设计方案

文章目录如何保证数据100%发送前言常见幂等与非幂等产生原因什么时候需要幂等的不足解决方案页面重定向乐观锁分布式锁token令牌如何保证数据100%发送(1)订单服务投递消息给MQ中间件(2)物流服务监听MQ中间件消息,从而进行消费以RabbitMQ举例。下边说一个场景,如果MQ服务器突然宕机了会出现什么情况?是不是我们订单服务发过去的消息全部没有了吗?是的,一般MQ中间件为了提高系统的吞吐量会把消息保存在内存中,如果不作其他处理,MQ服务器一旦宕机,消息将全部丢失。这个是业务不允许的,造成很

2021-03-22 10:05:32 189 4

原创 艺术~延迟双删保证Redis和Mysql数据一致性

文章目录延迟双删总结流程设置缓存过期时间延迟双删这个问题是涉及到缓存redis和主从mysql的数据更新,在高并发中,是很容易出现缓存和数据库之间数据不一致问题的。如果出现不一致的情况是很危险的,比如我们常见的限量抢购,它既要响应快,又要数据可靠。我什么说是双删呢?首先我们知道redis中缓存的数据是用来读取的,写数据一般都是要写入mysql中。如果先删了缓存,还没有来得及写MySQL,另一个线程就来读,发现缓存空,则去数据库读取数据写入缓存,此时缓存中为脏数据。如果先写库,在删除缓存前,写库

2021-03-21 21:15:42 1285 3

原创 数据结构~红黑树(特性、查找、插入、删除)

文章目录前言概念规则查询插入旋转分两种实际插入情况分析对于不同情况的处理删除操作(寻找继承人)会遇到的情况对于不同情况的处理前言红黑树是一个查找效率和构建效率都比较优秀的一种数据结构。比如java8中的hashmap在扩容的时候,如果table长度达到64,并且链表长度达到8就会对其进行转红黑树的操作。每次插入新的数据的时候,会变色和旋转,来让高度保持在log2(N)这个合理高度内概念首先要知道,红黑树是一种特殊的二叉树!形状和AVL树很像,但是AVL树是有平衡因子进行强制平衡,而红黑树是由自

2021-03-21 17:24:39 733

原创 艺术~分布式事务CAP和BASE理论、2PC、3PC、TCC模型

文章目录前言CAP理论一致性Consistency可用性Availability分区容错性PartitionToleranceBASE思想基本可用BasicallyAvailiable软状态SoftState最终一致性EventualConsistency对比总结强一致性解决方案2PC2PC的延迟问题。3PC最终一致性解决方案补偿模式关键点解决方案TCC模式TCC总结前言传统的串行式系统设计或者使用mvc风格的系统设计保证数据一致性都是使用关系型数据库,好处是使用ACID事务特性,保证数据一致性只需要开

2021-03-21 11:30:16 1599 3

原创 Java~stream处理中map与flatMap的比较和使用案例

文章目录前言共同点和区别共同点区别使用案例前言使用Java8的新特性Stream流式处理,可以提高对于集合的一些操作效率,再配合lambda表达式,可以极致的简化代码,尤其还有并行流这个东东,可以去 了解一下,在一些场合还是可以提高效率的,而且编码起来也不费事。并且流式处理的核心就是一个浅拷贝和引用管道,其内部实现了一个引用管道ReferencePipeline, 他把需要处理的数据的引用拷贝了一份,然后处理数据,最后收集结果也是将这些引用放到了另一个集合中。今天要讲的就是stream处理中的map

2021-03-20 20:18:38 3714 8

原创 艺术~常见的不可逆加密、对称加密、非对称加密

文章目录前言数字签名不可逆加密MD5SHA1算法对称加密DES算法3DES算法AES算法(重点)非对称加密RSA算法ECC算法对称算法与非对称加密算法前言加密是我们保证数据安全的一个很重要的手段,尤其是现在广泛的token使用上,加密手段有着举足轻重的地位。一个好的加密算法主要体现在俩点:不易被破解加密解密的效率要好加密在就比如我现在的工作, 主要会用在一些数字签名的生成上或者一些数据的验证上,来进行数据安全的保护和数据完整性的保护。数字签名数字签名,简单来说就是通过提供 可鉴别 的 数

2021-03-19 13:34:01 983 2

原创 艺术~几种唯一ID的生成的方案

文章目录前言方案特性ID的生成方案1. UUID2. 数据库自增ID3.Twitter的snowflake算法(雪花算法)7. 美团Leaf解决时钟问题前言ID有着很重要的作用,就如同我们的身份证ID,是标明唯一的一个号码,尤其在大数据时代,数据成千上万,如果我们还想通过ID来标明身份就会有一定的困难,会有ID冲突的风险。特别是在复杂的分布式系统业务场景中如果ID冲突,将会面临很大的业务问题。我们在设计ID生成方案的时候往往考虑一下几个特点方案特性唯一性:确保生成的ID是全网唯一的。有序递增性

2021-03-18 20:06:10 682

原创 数据结构~总结一下B树、B-树、B+树、B*树的特点

文章目录前言B树(二叉查找树)B-树前言数据在计算机中的存储结构主要为顺序存储结构、链式存储结构、索引存储结构、散列存储结构。顺序存储一般就是我们常见的数据,存储少量数据还好,如果存储大量数据可能会出现内存不够的情况,而且数据一旦需要移动和删除是很耗时的链式存储改进了上述的缺点,但是链式存储的查找效率是很低的。尤其是范围查看是非常低的散列查找是非常快的,尤其使用Hash的思想可以在几乎是O(1)的复杂度下就可以找到对应数据,但是对于范围查找还是不友好索引查找就是我们今天要讲的树+链式的结构,它

2021-03-17 13:41:21 1894 1

原创 Git~掌握安装配置、工作流程、基本命令操作、分支管理和撤回

文章目录安装配置配置账号密码配置密匙工作流程基本概念文件的四种状态基本命令操作与远程仓库建立连接上传代码分支管理分支上传分支合并查看与撤回安装配置安装就不多讲了,很简单而且网上有很多文章,而且直接去官网下载安装就好https://git-scm.com/download总之输入git version 能出来版本就说明安装好了配置账号密码配置我在这简单记录一下命令, 比如配置你的name和email, 注意name和email是你自己的!git config --global user.n

2021-03-16 20:35:46 290

原创 MySQL~为什么推荐自增 id 作为主键

文章目录页的概念页分裂与页合并页的概念在计算机里,无论是内存还是磁盘,操作系统都是按页的大小进行读取的(页大小通常为 4 kb),磁盘每次读取都会预读,会提前将连续的数据读入内存中,这样就避免了多次 IO,这就是计算机中有名的局部性原理,即我用到一块数据,很大可能这块数据附近的数据也会被用到,干脆一起加载,省得多次 IO 拖慢速度, 这个连续数据有多大呢,必须是操作系统页大小的整数倍。所以MySQL 的页,默认值为 16 KB,也就是说对于 B+ 树的节点,最好设置成页的大小(16 KB),这样一个

2021-03-15 23:33:43 1568

原创 Maven~总结一下clean、compile、test、package、install、deploy分别有什么作用

文章目录前言clean 生命周期default 生命周期site 生命周期前言软件开发人员每天都要对项目进行清理、编译、测试、打包以及安装部署。通过学习、分析、反思和总结,Maven 抽象出了一个适合于所有项目的构建生命周期,并将它们统一规范。具体步骤包括清理、初始化、编译、测试、打包、集成测试、验证、部署和生成站点。这些步骤几乎适合所有的项目。Maven 拥有三套独立的生命周期,它们分别是 clean、default 和 site。clean 生命周期的目的是清理项目;default 生命周期的

2021-03-15 00:07:39 3870

原创 广告化开发(基础知识)~oCPA/oCPM/oCPC

文章目录前言概念oCPM:oCPC:oCPA:oCPA/oCPM/oCPC的目的是什么?前言每一个广告主或者每一个人都想要最低的成本来达到最高的收益,也就是利益最大化所以oCPA/oCPM/oCPC就是通过数据来优化广告投放让广告主选择更适合的流量和更适合的价格来提高收益。概念oCPM:即优化千次展现出价,本质还是按照cpm付费。采用更精准的点击率和转化率预估机制,将广告展现给最容易产生转化的用户,在获取流量的同时,提高转化率、降低转化成本,跑量提速更快。oCPC:即优化点击付费,本质还

2021-03-14 12:56:02 1083

原创 Java~ForkJoinPool + parallelStream实现并行快速处理数据流

文章目录ForkJoinPoolinvoke、execute和submit区别parallelStream实现快速处理数据流ForkJoinPool说起ForkJoinPool先说Fork/Join框架我们通过Fork和Join这两个单词来理解一下Fork/Join框架。Fork就是把一个大任务切分 为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结 果。比如计算1+2+…+10000,可以分割成10个子任务,每个子任务分别对1000个数进行求和, 最终汇总这10个子

2021-03-11 23:23:52 5558 3

原创 Java~ LocalDate、LocalTime、LocalDateTime、DateTimeFormatter的学习和使用

文章目录前言获取日期API日期的计算加法操作减法操作比较日期和时间ISO标准日期格式转换String转日期其他好玩的API前言此篇博客借鉴与博主: 某科学的南条内容中也有自己的思考和总结众所周知,SimpleDateFormat在多线程环境下是不安全的, 因为其内部使用的是一个calendar对象, 那么在多线程环境下使用同一个对象去修改不同的数据必然会造成不安全问题。解决办法就是使用Java8提供LocalDate、LocalTime、LocalDateTime、DateTimeFormat

2021-03-04 19:27:08 889 1

原创 Java~多线程算法实战题目之商店售票

文章目录题目描述思路测试PS:这道题是我在面试中遇到的,所以没有链接, 感觉这道题很有意思就拿出来分享分享题目描述有一个商店有100张票,并且有三个售票口, 这三个售票口之间独立, 各卖各的, 但是票不是独立的, 每张票不能重复卖。注意:100张票必须全部卖出, 但是不能多卖。每个窗口每隔100毫秒卖出一张票。要求:输出每张票是被哪个窗口卖出思路这是一个很典型的多线程安全问题, 因为票一旦操作不当就会被重复卖出所以这道题的关键点就在于每个售票口在查看此时票还剩多少和取票这俩个操作必须保

2021-03-04 13:50:22 494 5

原创 Java~多线程算法实战, 三种方式解决LeetCode题目1116. 打印零与奇偶数

文章目录题目描述解决一: 使用死循环方式解法二:使用信号量机制解法三:使用锁机制题目描述假设有这么一个类:class ZeroEvenOdd {public ZeroEvenOdd(int n) { … } // 构造函数public void zero(printNumber) { … } // 仅打印出 0public void even(printNumber) { … } // 仅打印出 偶数public void odd(printNumber) { … } //

2021-03-02 13:09:55 504

原创 Linux~常用命令ps(查看进程信息)、top(监控linux的系统状况)、netstat(检验本机各端口的网络连接情况)

文章目录PS命令命令参数top命令参数解释netstat命令参数解释PS命令作用:主要是查看此时服务器的进程信息, 也就是说他返回的是静态的数据, 不会动态变化也就是说ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。linux上进程有5种状态:运行(正在运行或在运行队列中等待)中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)僵死(进程已终止,

2021-02-28 15:58:52 748

原创 Spring~事务API、事务失效原因、事务传播特性

文章目录Spring事务事务API实现原理事务失效事务传播机制Spring事务Spring事务是在所使用的数据库事务的基础上进行封装扩展封装主要是封装了一些JDBC的一写事务操作的对象, 扩展主要有以下几点特性加入了事务传播的概念, 从代码逻辑上看来比编程式事务简化很多提供声明式事务或者是注解式配置事务,让业务代码与事务分离,事务变得更易用(AOP技术)但是也造成了事务失效的情况出现, 具体原因下面讲述事务APISpring提供了一个TransactionDefinition, 它定义了

2021-02-27 21:59:39 404

原创 Spring~debug源码, 完整走一遍Spring创建一个bean的总结

文章目录前言前言今天自己debug完整的走了一遍Spring创建一个Bean对象的过程, 收获颇多总结如下:;Spring会先创建BeanFacory容器中需要的对象, 这也是Spring自己所需要的一些对象然后无论是xml还是注解还是properies还是yaml方式, 最后都会经过beanDeinitionReader把其抽象初始化成beandefinition, beandefinition 是bean对象的定义信息, 存储着bean对象的定义信息 包装成一个个的BeanDefin

2021-02-27 15:03:17 432 2

原创 Java~基于fluent-hc快速构建Http请求,结合failsafe实现异常重试

文章目录所需依赖实现failsafe安全失败构建Get请求构建Post请求自定义响应处理所需依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>fluent-hc</artifactId> <version>4.5.10</version>

2021-02-26 11:29:09 1050

原创 广告化开发(基础知识)~广告生态链DSP/SSP/RTB/ADX的理解

文章目录程序化广告生态需求方平台(DSP)广告网盟(AdN)供应方平台(SSP)实时竞价 (RTB)广告交易平台(ADX)程序化创意平台(PCP)广告验证平台(AVP)数据管理平台(DMP)易混淆名词对比由于自己学识尚浅, 本片内容学习总结自CSDN博主: 贺敏Minbo程序化广告生态互联网时代下的程序化广告市场主要有记一下几个角色广告需求方作为流量的消费者, 包括广告主和广告主的代理商需求方服务为广告需求方服务的平台(DSP) , 这个平台为广告需求方提供精准的广告投放和广告管理

2021-02-16 17:02:42 2775

原创 广告化开发(基础知识)~广告效果指标CTR/CVR/ROI/ARPU的理解

文章目录广告效果的定义广告效果指标广告投放基础费用指标广告投放直接收益指标广告投放间接收益指标由于自己学识尚浅, 本片内容学习总结自CSDN博主: 贺敏Minbo广告效果的定义广告效果有直接效果和间接效果之分广告获得直接经济效益,即提升直接利益转换(如产品销售数量得到提升),如游戏行业比较关心的数据有点击、注册、下载用户数及相应的获客成本等。广告的间接效益是指通过广告的传播使受众的认知、心理、行为和态度,由此带来的直接或间接广告效益的总和。直接广告效益可以理解成转化效果,间接广告效益可以理解成

2021-02-15 22:03:11 9574 2

原创 广告化开发(基础知识)~CPM/CPC/CPA的理解

文章目录CPM (cost per mille):每千人展现的成本CPC (cost per click):每产生一次点击所花费的成本CPA (cost per Action):每次实际动作的成本CPM (cost per mille):每千人展现的成本顾名思义就是一个广告每展现给一千人所需化肥的成本.按CPM计费模式的广告,只看展现量,按展现量收费,不管点击、下载、注册什么的.一般情况下,网络广告中,视频贴片、门户banner等非常优质的广告位通常采用CPM收费模式.生活中,公交站、地铁站、火车

2021-02-15 16:30:19 819

原创 操作系统~假脱机SPOOLing技术与缓冲区管理

文章目录什么是脱机技术假脱机技术—―输入/输出缓冲区共享打印机的实现原理缓冲区的管理缓冲区的工作过程单缓冲双缓冲循环缓冲区缓冲池什么是脱机技术在传统的批处理操作系统中, 我们将输入数据统一写到磁带中, 又将输出数据统一写到磁带中, 这就是一种脱机技术Tips:为什么称为“脱机”――脱离主机的控制进行的输入/输出操作。假脱机技术—―输入/输出缓冲区“假脱机技术”,又称“SPOOLing技术”是用软件的方式模拟脱机技术。SPOOLing系统的组成如下共享打印机的实现原理独占式设备―一只允许各个

2021-02-15 11:13:15 2865

原创 操作系统~高速缓存技术思想与虚拟地址内存技术思想

文章目录传统内存管理方式的缺点局部性原理虚拟内存的定义和特征高速缓存技术思想传统内存管理方式的缺点**一次性:**作业必须一次性全部装入内存后才能开始运行。这会造成两个问题:①作业很大时,不能全部装入内存,导致大作业无法运行;②当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。驻留性:一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束。事实上,在一个时间段内,只需要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数

2021-02-15 09:51:07 360

原创 操作系统~I/O设置的概念和管理

文章目录什么是I/O设备I/O设备的分类I/O控制器IO控制器的组成内存映像l/o v.s.寄存器独立编址I/O控制方式程序直接控制方式中断驱动方式DMA方式通道控制方式总结什么是I/O设备“I/o”就是“输入/输出”(Input/Output)I/o设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。I/O设备的分类I/O控制器CPU无法直接控制/o设备的机械部件,因此I/o设备还要有一个电子部件作为CPU和/o设备机械部件之间的“中介”,用于

2021-02-15 09:33:50 1740

原创 操作系统~磁盘的结构、磁盘调度算法、磁盘的管理

文章目录磁盘的结构磁盘的物理地址磁盘调度算法一次磁盘读/写操作需要的时间先来先服务算法(FCFS)最短寻找时间优先(SSTF)扫描算法(SCAN)LOOK调度算法循环扫描算法(C-SCAN)C-LOOK调度算法磁盘管理磁盘地址结构的设计磁盘初始化引导块磁盘的结构磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据一个磁道又被划分成一个个扇区,每个扇区就是一个“磁盘块”。各个扇区存放的数据量相同(如1KB)磁盘的盘面被划分成一个个磁道。这样的一个“圈”就是一个磁道需要把“磁头”移动到想

2021-02-14 21:40:05 1519

原创 操作系统~文件管理, 文件目录, 文件的物理结构, 文件共享与文件保护的实现

文章目录文件管理文件属性文件内部数据的组织结构操作系统对文件提供的功能文件如何存储在外存文件目录多级目录索引结点(FCB的改进)文件的物理结构链接分配一一隐式链接链接分配一―显式链接索引分配多层索引文件共享基于索引结点的共享方式(硬链接)基于符号链的共享方式(软链接)文件保护口令保护加密保护访问控制文件系统层次结构文件管理计算机中存放了各种各样的文件,一个文件有哪些属性?文件内部的数据应该怎样组织起来?文件之间又应该又应该怎么组织起来?文件属性一个文件有哪些属性?文件名:由创建文件的用户决定文

2021-02-14 21:07:41 1319

原创 操作系统~分页存储管理的基本概念与页面置换算法

文章目录分页存储管理的基本概念页表俩级页表页面置换算法最佳置换算法(OPT)先进先出置换算法(FIFO)最近最久未使用置换算法(LRU)时钟置换算法((CLOCK)分页存储管理的基本概念传统的连续内存分配不管使用什么算法都有可能会造成内存的碎片化而使用分页式的地址管理就可以有效降低内存碎片化将内存空间分为一个个大小相等的分区(比如:每个分区4KB),每个分区就是一个“页框”,或称“页帧”、“内存块”、“物理块”。每个页框有一个编号,即“页框号”(或者“内存块号”、“页帧号”、“物理块号”)页框号从o

2021-02-13 21:00:11 4439

原创 操作系统~内存管理之覆盖与交换、连续内存分配

文章目录什么是内存?有何作用进程的运行原理 - 指令逻辑地址VS物理地址内存管理内存保护内存覆盖内存交换技术内存分配单一连续分配固定分区分配动态分区分配动态分配算法什么是内存?有何作用内存是用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理。在多道程序环境下,系统中会有多个程序并发执行,也就是说会有多个程序的数据需要同时放到内存中。那么,如何区分各个程序的数据是放在什么地方的呢?方案:给内存的存储单元编地址值得注意的就是每个计算机的位数不同, 有16位, 32位, 那么每个地址对应的

2021-02-13 20:23:50 1577 2

原创 操作系统~死锁概念、 预防、检测、解除

文章目录什么是死锁死锁、饥饿、死循环的区别死锁产生的四个必要条件什么时候会发生死锁死锁的处理策略预防死锁破坏互斥条件破坏不剥夺条件破坏请求和保持条件破坏循环等待条件避免死锁银行家算法核心步骤死锁的检测检测死锁的算法:死锁的解除什么是死锁各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进死锁、饥饿、死循环的区别死锁:至少是两个进程一起死锁,死锁进程处于阻塞态饥饿:可以只有一个进程饥饿,饥饿进程可能阻塞也可能就绪死循环:可能只有一个进程发生死循环,死循环的进程可上处理机死锁和饥饿是操作系

2021-02-13 16:46:27 702

原创 操作系统~信号量机制如何实现同步、解决吸烟者问题、解决哲学家进餐问题

文章目录信号量机制整型信号量记录型信号量总结信号量机制实现进程互斥信号量机制实现进程同步解决吸烟者问题解决哲学家进餐问题信号量机制用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥、进程同步。信号量其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量,比如:系统中只有一台打印机,就可以设置一个初值为1的信号量。原语是一种特殊的程序段,其执行只能一气呵成,不可被中断。原语是由关中断/开中断指令实现的。软件解

2021-02-13 16:13:35 1731

原创 操作系统~进程同步与进程互斥的概念和实现方式

文章目录什么是进程同步什么是进程互斥进程同步实现方式进程互斥的实现方式什么是进程同步知识点回顾:进程是具有异步性的特征。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进。读进程和写进程并发地运行,由于并发必然导致异步性,因此“写数据”和“读数据”两个操作执行的先后顺序是不确定的。而实际应用中,又必须按照“写数据→读数据”的顺序来执行的。如何解决这种异步问题,就是“进程同步”所讨论的内容。同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位

2021-02-13 15:05:03 1813 2

原创 操作系统~进程七状态模型与调度算法

文章目录进程的挂起态与七状态模型进程调度算法进程调度的方式先来先服务FCFS短作业优先SJF对比FCFS和SJF两种算法高响应比优先HRRN时间片轮转调度算法(RR)优先级调度算法多级反馈队列调度算法进程的挂起态与七状态模型暂时调到外存等待的进程状态为挂起状态(挂起态,suspend)挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态五状态模型→七状态模型调到外存也就是说这个进程以及不由CPU调度控制, 必须手动调回进程调度算法进程调度的方式非剥夺调度方式,又称非抢占方式。即,只允许进程

2021-02-13 10:26:14 4567 3

原创 操作系统~线程概念以及多线程模型

进程是程序的一次执行, 但这些功能显然不可能是由一个程序顺序处理就能实现的什么是线程,为什么要引入线程?什么是线程,为什么要引入线程?有的进程可能需要“同时”做很多事,而传统的进程只能串行地执行一系列程序。为此,引入了“线程”,来增加并发度。可以把线程理解为“轻量级进程”线程是一个基本的CPu执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)

2021-02-13 10:14:03 318

原创 操作系统~进程的状态、转换、控制

文章目录进程的状态三种基本状态另外两种状态进程状态的转移总结进程控制什么是进程控制如何实现进程控制?进程的状态操作系统中的进程有五个核心状态, 分别为运行态, 就绪态, 阻塞态, 创建态, 终止态其中运行态和就绪态和阻塞态为最基本的三个状态三种基本状态进程是程序的一次执行。在这个执行过程中,有时进程正在被CPu处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。三个基本状态的核心区别就是在于是不是正在CPU上执行和合

2021-02-13 09:59:12 611

原创 Java~集合中的fail-fast(快速失败)机制

文章目录简介modCount和expectedModCountmodCount是如何被修改的fail-fast(快速失败)和fail-safe(安全失败)比较fail-fast解决什么问题如何解决fail-fast事件简介我们知道Java中Collection接口下的很多集合都是线程不安全的, 比如 java.util.ArrayList不是线程安全的, 因此如果在使用迭代器的过程中有其他线程修改了list,那么将抛出ConcurrentModificationException,这就是所谓fail-f

2021-02-10 10:23:34 2970 3

原创 MySql~面试题目之写一个InnoDB引擎下事务死锁的例子

文章目录死锁建表客户端一客户端二分析死锁所谓死锁就是必须发生在下面的四个必要条件资源互斥条件保持与请求条件不可剥夺条件循环等待条件简而言之就是访问的资源有互斥性, 也就是说是资源使不可抢占式或者是可消耗型资源多个事务都已经占有资源, 并且想获取其他资源, 占有的资源有不可剥夺性, 想访问的资源被循坏等待比如下面这个例子建表CREATE TABLE `test1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varch

2021-02-09 19:53:17 419

用java实现操作系统实验银行家算法

银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系 统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。 要解释银行家算法,必须先解释操作系统安全状态和不安全状态。 安全序列是指一个进程序列{P1,…,Pn}是安全的,即对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j < i )当前占有资源量之和。

2020-05-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除