首页
学习
活动
专区
工具
TVP
发布

软件工程导论期末救急包(中)

在该架构中,后端对应MVVM模式中的Model层,围绕数据库系统进行业务逻辑的处理,封装数据(主要为JSON格式)并传输至前端。前端对应MVVM模式中的ViewModel层和View层。...⑵数据结构及数据库设计。 ⑶编写概要设计文档。主要有:概要设计说明书;数据库设计说明书;用户手册;修订测试计划。⑷评审。 详细设计的基本任务是什么?有哪几种描述方法?...详细设计是软件设计的第二阶段 其基本任务有: 为每个模块进行详细的算法设计; 为模块内的数据结构进行设计; 对数据库进行物理设计,即确定数据库的物理结构; 其它设计,根据软件系统类型,还可能要进行代码设计...在完全不考虑程序内部结构和内部特性的情况下、注重于测试软件的功能性要求,测试者在程序接口处进行测试,只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,并且保持数据库和文件的完整性

21420
您找到你想要的搜索结果了吗?
是的
没有找到

运维经验:回滚段异常的特殊救急方法

冷菠 冷菠,资深DBA,著有《Oracle高性能自动化运维》,有近10年的数据库运维、团队管理以及培训经验。擅长数据库备份恢复、数据库性能诊断优化以及数据库自动化运维等。...当Oracle回滚段异常时,将会影响CR重构、事务锁定、块清除等与回滚段紧密相关的数据库功能,甚至可能会导致数据库无法正常启动。...场景 Oracle 回滚段隐藏参数用于回滚段异常导致数据库无法正常工作的特殊恢复场景,主要包括:数据库打开、一致读和块清除、回滚段删除。...的方式打开数据库(只有部分数据丢失)。...这样就保证了数据库正常启动的同时,也尽可能地减少了数据的丢失。

1.7K90

记录一起误删数据文件的临时救急处理

某项目扩展表空间后增加了一个数据文件,出现数据库无法连接的情况,项目人员联系主机硬件厂家,对方发了几个图片说空间不足了,项目人员于是说按照对方说法在主机删除了对应数据文件,这次更无法启动数据库了,,,,...查看数据库日志,如下:Fri Jan 21 16:46:00 2022ALTER TABLESPACE UNIREPORT ADD DATAFILE '/tybb1db/UNIREPORT54' SIZE...30GFri Jan 21 16:49:30 2022ALTER TABLESPACE UNIREPORT ADD DATAFILE '/tybb1db/UNIREPORT55' SIZE 30G可见在数据库看来...于是删除了这个数据文件,就无法启动数据库了,如下:Starting ORACLE instance (normal)LICENSE_MAX_SESSION = 0LICENSE_SESSIONS_WARNING...如下:startup mountalter database datafile '/tybb1db/UNIREPORT54' offline drop;alter database open;但此时在数据库的字典数据里

28250

并发编程之线程池

corePool :Size核心线程数目(最多保留的线程数) maximunPoolSize :最大线程数目 keepAliveTIme :生存时间- 针对救急线程 unit :时间单位 - 针对救急线程...如果队列选择了有界队列,那么任务超过了队列大小时,会创建maximumPoolSize - corePoolSize 数目的线程来救急。...特点 核心线程数 == 最大线程数 (没有救急线程被创建),因此也需超时时间 阻塞队列是无界的,可以放任意数量的任务 适用于任务量已知,相对耗时的任务 4)newCachedThreadPool...特点 核心线程数是0,最大线程数是Integer.MAX_VALUE,救急线程的空闲生存时间是60s,意味着 全部都是救急线程(60s后可以回收) 救急线程可以无限创建 队列采用了SynchronousQueue...额外的这个线程就能顶上去,保证CPU时钟周期不被浪费 3.2 I/O 密集型运算 CPU不总是处于繁忙状态,例如,当你执行业务计算时,这时候会使用CPU资源,但当你执行IO操作时、远程RPC调用时,包括进行数据库操作时

48210

关于线程池,面试的时候你时候还打怵,这里我有话要说,保证让你对线程池的各个参数一边就懂,浅显易懂的哦。

60s,意味着全部是救急线程(60s后可以回收)救急线程可以无限创建. newSingleThreadExecutor 希望多个任务排队执行,线程数固定为1,任务数多于1时,会放入无界队列排队,任务执行完毕...:生存时间 - 针对救急线程 unit:时间单位,针对的是救急线程 workQueue:阻塞队列 threaFactory:线程工厂 - 可以为线程创建时起个好名字 handler:拒绝策略 达到最大线程数后还有新的任务便会执行拒绝策略...jdk有核心线程和救急线程 救急线程数 = 最大线程数-核心线程数,一旦核心线程数用完,并且阻塞队列也满了,此时又来了任务,jdk会先判断有没有救急线程,如果有救急线程,它会执行任务。...执行完就会释放该救急线程,它不会去执行阻塞队列里面的任务 核心线程和救急线程的区别:一旦核心线程被创建它是不会被回收的一直保留,但是救急线程只有在阻塞队列满了并且核心线程也没有空闲才会被创建,否则就会被回收...,可以简单理解为核心线程没有生存时间,救急线程有生存时间 救急线程的前提:是配合有界队列,当任务超过了队列的大小时,会创建maximumPoolSize-corePoolSize数目的线程来救急 拒绝策略

14210

JUC内置线程池

RejectedExecutionHandler handler) corePoolSize 核心线程数目 (最多保留的线程数) maximumPoolSize 最大线程数目 keepAliveTime 生存时间 - 针对救急线程...unit 时间单位 - 针对救急线程 workQueue 阻塞队列 threadFactory 线程工厂 - 可以为线程创建时起个好名字 handler 拒绝策略 工作原理 线程池中刚开始没有线程,当一个任务提交给线程池后...如果队列选择了有界队列,那么任务超过了队列大小时,会创建maximumPoolSize - corePoolSize数目的线程来救急。...nThreads, nThreads,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue());} 特点 核心线程数 == 最大线程数(没有救急线程被创建...60s,意味着: 全部都是救急线程(60s 后可以回收); 救急线程可以无限创建; 队列采用了SynchronousQueue实现特点是,它没有容量,没有线程来取是放不进去的(一手交钱、一手交货)。

13840

ThreadPoolExecutor解读

unit 时间单位 - 针对救急线程 workQueue 阻塞队列 threadFactory 线程工厂 - 可以为线程创建时起个好名字 handler 拒绝策略 工作方式: 来了五个任务...如果队列选择了有界队列,那么任务超过了队列大小时,会创建 maximumPoolSize - corePoolSize 数目的线 程来救急。...new LinkedBlockingQueue()); } 特点 核心线程数 == 最大线程数(没有救急线程被创建...threadFactory); } 特点 核心线程数是 0, 最大线程数是 Integer.MAX_VALUE,救急线程的空闲生存时间是...60s,意味着 全部都是救急线程(60s 后可以回收) 救急线程可以无限创建 队列采用了 SynchronousQueue 实现特点是,它没有容量,没有线程来取是放不进去的(一手交钱、一手交 货

12230
领券