-
[综合] OS学习笔记——进程与线程
程序的顺序执行:顺序性、封闭性(一旦运行就独占系统资源,只有本程序才能改变资源状态,运行结果不受外界条件的影响)、可再现性。 程序的并发执行:间断性(运行快的如果需要运行慢的程序的结果才能继续,就得先停下来,等结果出来继续运行)失去封闭性、不可再现性(并发过程中,如果AB俩程序先后顺序不同,会造成...
69
热度 -
[综合] OS学习笔记——多线程模型
多线程模型主要分为三种:多对一模型/一对一模型/多对多模型 多对一模型:允许将多个用户级线程映射到一个内核线程。线程管理是在用户空间进行的,效率比较高。如果有一个线程执行了阻塞系统调用,那么整个进程 就会阻塞。所以任意时刻只允许一个线程访问内核,这样多个线程不能并行运行在多处理器上。 一对一模型...
73
热度 -
[综合] OS学习笔记——处理器调度1
处理器调度的过程就是为待处理的作业或进程分配处理器的过程。 处理器调度的层次: 1.高级调度 高级调度又叫做宏观调度或作业调度,需要作出两个决定,一个是要从驻留在外存后备队列中调入多少个作业,二是调入哪几个作业;然后为被选中的作业创建进程,并分配必要的系统资源,如内存、...
40
热度 -
[综合] OS学习笔记——进程同步与死锁1
进程的同步 对于需要相互合作的进程,执行顺序需要在某些特定时刻进行协调,先达到条件的进程需要等待后到达的进程,此时进程之间存在制约关系。 典型例子是:A负责视频数据采集,B负责把A采集到的数据进行压缩处理。 进程互斥: 当多个进程需要使用相同的资源,而此类资源在任意时刻只能供一个进程使用,获得...
34
热度 -
[综合] OS学习笔记——生产者消费者问题
缓冲池是临界资源,因此需要为其设置一个互斥信号量mutex。此外,为了让生产者和消费者都能正确使用空、满缓冲区,还需要设置两个资源信号量empty和full,empty和full的初值分别为n和0.在进程选择缓冲区时,还需要使用两个特殊指针in和out,分别指向生产者使用的空缓冲区和消费者使用的满缓...
46
热度 -
[综合] OS学习笔记——哲学家进餐问题
?? 问题可以描述为:五个哲学家一生都在思考和进餐中度过。吃饭的时候必须拿起两侧的筷子,吃完就放下。是否能编写程序且不产生死锁? 最直接的解法 intN=5;Philosopher(inti){ while(TRUE){ thinking;take_chop(i);ta...
16
热度 -
[综合] OS学习笔记——管程
管程由过程、变量及数据结构组成,它们共同构建了一个特殊的模块或软件包。进程可以在任意时刻调用管程中的进程,但不允许使用管程外的过程访问管程内的数据结构。 管程在任一时刻都只能有一个活跃进程。这一特性可以帮助管程有效地实现互斥。管程作为一种特殊的程序被编译器识别,每当进程调用管程时,编译器都会采用与其...
35
热度 -
[综合] OS学习笔记——存储管理方式
分配方式分为:连续分配和离散分配 1.连续分配方式 单一连续分配:内存被分为用户区和系统区。适用于单用户单任务操作系统。 分区式分配方式:(1)固定分区分成若干区域 内存分配与回收:通常将内存分区根据其大小进行排队,并为之建立一张分区说明表。表中包含各分区的区号、大小、起始地址及状态等信息、 (2)...
37
热度 -
[综合] JavaSE复习——单例模式
单例模式是指,某个类只能被实例化一次,在JVM中,只能有一个相应的对象存在。 第一种实现方式:饿汉式 packagehungry;publicclassHungryMode{privateHungryMode(){//构造方法私有,以防外部通过new来实例化}privatestaticHungry...
25
热度 -
[综合] 顺序表和单链表的基本实现(基于Java
顺序表: packagetest;publicclassSeqList{protectedObject[]element;//设置一定长度的对象数组,利用数组实现顺序表的顺序存储和随机存取protectedintn;publicSeqList(intlength){this.element=newO...
94
热度 -
[综合] 顺序队列和链式队列的实现(基于Java语言
packagetestQueue;publicinterfaceQueue<T>{publicabstractbooleanisEmpty();publicabstractbooleanadd(Objectx);publicabstractTpeek();publicabstractTp...
54
热度 -
7
热度 -
[综合] 复杂链表的复制(不使用额外空间)
思路:比如说原链表是ABCD。则先复制结点A'B'C'D',分别连接在ABCD后面。然后遍历ABCD,得知每个原结点的random指向。那么复制结点的random指向原结点random的后一个。(A---C,则A'----C后面的C')再次遍历链表,将所有原结点跨个相连,将复制结点跨个相连。返回复制...
89
热度 -
[综合] HashMap源码简略分析
HashMap中核心的成员变量 初始化桶大小,即数组默认大小。 桶最大值,即数组最大值。 默认的负载因子(0.75) Table真正存放数据的数组 Map存放数量的大小 桶大小,可在初始化时显式指定 负载因子,可在初始化时显式指定。 StaticfinalintMAXIMUM_CAPACITY=...
36
热度 -
[综合] invalid bound statement(not found)
service层调用mapper的查询方法,出现invalidboundstatement。 mapper。xml和mapper类对映不上。 解决方法。 打开target/classes/com/。。。/mapper,查找里面是否有编译的mapper。xml,如果没有,移动xml进去
27
热度 -
[综合] SpringBoot、Mybatis加Shiro
当web程序验证用户名和密码时,会向Shiro中的Realm提供用户名和密码。 作为真正进行认证授权的环节,Realm得到Shiro提供的用户名及密码后,会向ini文件或者数据库的用户表去检索。 写一个XXXRealm类,继承AuthorizingRealm抽象类,实现两个抽象方法 即protec...
39
热度 -
[综合] Python中的类,继承和多态
对象: 面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。类来创建对象被称为实例化。 类: 可以简单理解为模块,就是不同的分类,像食物、车、学习等都属于不同的类型,简称类。那么食物有辣的、甜的等;车有客车、轿车;学习有学习数学、学...
32
热度 -
[综合] Python数据分析与展示之numpy生成二维及多维正态分布随机数
一、numpy模块初识 NumPy(NumericalPython)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nestedliststructure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算...
82
热度 -
[综合] Python数据分析与处理2
CSV文件CSV(Comma-SeparatedValue,逗号分隔值)是一种常见的文件格式,用来存储批量数据。 importnumpyasnp a=np.random.randint(0,12,(3,4)) print(a) a1=a.sum() b1=a.mean() c1=a.var() f1...
97
热度 -
[综合] Python数据分析与处理4
项目案例以朝阳医院2018年销售数据为例,目的是了解朝阳医院在2018年里的销售情况,通过对朝阳区医院的药品销售数据的分析,了解朝阳医院的患者的月均消费次数,月均消费金额、客单价以及消费趋势、需求量前几位的药品等。数据分析基本过程包括:获取数据、数据清洗、构建模型、数据可视化以及消费趋势分析。进行数...
14
热度