- 博客(37)
- 收藏
- 关注
转载 C++预处理器
#define 预处理1.#define 预处理指令用于创建符号常量。该符号常量通常称为宏,指令的一般形式是:#define macro-name replacement-text #include <iostream>using namespace std; #define PI 3.14159 int main (){ cout <&l...
2020-01-06 15:34:35
391
转载 C++信号处理
信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断。信号 描述 SIGABRT 程序的异常终止,如调用abort。 SIGFPE 错误的算术运算,比如除以零或导致溢出的操作。 SIGILL 检测非法指令。 SIGINT 接收到交互注意信号。...
2020-01-06 14:59:39
560
原创 C++模板
1,C++模板关键字template模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板可以分为函数模板与类模板2.函数模板一般形式:template <typename T> T func_name(parameter list) //T表示函数返回类型, func_name表示函数名{ // 函数的主体}实例:#in...
2020-01-04 11:44:25
251
转载 C++内联函数inline
1.引用inline的原因在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。2.实例#include <stdio.h>//函数定义为inline即:内联函数inline char* dbtest(int a) { return (i % 2 > 0) ? "奇" : "偶...
2020-01-04 10:39:52
214
转载 C++文件和流
一、C++文件和流1. ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。 ifstream 该数据类型表示输入文件流,用于从文件读取信息。 fstream 该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。 要在 ...
2020-01-03 11:46:42
195
转载 Java List
1. ArrayListArrayList底层通过数组实现,随着元素的增加而动态扩容。而LinkedList底层通过链表来实现,随着元素的增加不断向链表的后端增加节点。ArrayList是Java集合框架中使用最多的一个类,是一个数组队列,线程不安全集合。2.LinkedListLinkedList是一个双向链表,每一个节点都拥有指向前后节点的引用。相比于ArrayList来说,L...
2020-01-02 15:58:04
294
转载 第 七 、八 章 文件与磁盘空间管理
一、文件和文件系统文件管理:把所管理的程序和数据组织成一系列的文件,并能进行合理的存储、使用等操作。1 )基本概念数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。记录:一组相关数据项集合,描述对象某方面的属性;关键字:一个记录中的一个或几个数据项的集合,用于唯一的标识一个记录。文件:由创建者定义的、具有文件名的一组相关元素的集合。 ■有结构:...
2018-11-21 17:50:13
870
转载 第6章 设备管理
六,用户层的I/O软件小部分I/O系统软件放在了用户应用层上。 ■库函数(与应用程序链接) ■假脱机技术(虚拟设备)1)系统调用与库函数不允许运行在用户态的应用进程,去直接调用运行在核心态(系统态)的OS过程。 应用进程在运行时,又必须取得OS所提供的服务。 于是: OS在用户层中引入了系统调用,应用程序可以通过它,间接调用OS中的I/O过程,对I/O设备进行操作。...
2018-11-20 16:51:42
359
转载 第6章 设备管理
四,设备驱动程序设备驱动程序是I/O系统的高层与设备控制器之间的通信程序,其主要任务:(1)接收上层软件发来的抽象I/O要求,如read、write等命令;(2)再把它转化为具体要求,发送给设备控制器,启动设备去执行。(3)反方向,它也将由设备控制器发来的信号,传送给上层软件。1.驱动程序的功能(1)接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求,转换为与设备...
2018-11-20 11:16:56
411
转载 第6章 设备管理
一,I/O系统的基本功能及模型1 主要功能:1)隐藏物理设备细节,方便用户 用户使用抽象的I/O命令即可2)实现设备无关性,方便用户 用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。3)提高处理机和设备的并行性,提高利用率:缓冲区管理4)对I/O设备进行控制:控制方式、设备分配、设备处理5) 确保对设备正确共享:虚拟设备及设备独立性等6) ...
2018-11-14 18:21:06
380
转载 第5章 虚拟存储器
一,虚拟存储器的基本概念1,常规存储器管理不足的原因: 1)常规存储器管理方式的特征 一次性: 作业在运行前一次性地全部装入内存 驻留性:作业装入内存后,便一直驻留在内存中,直至作业运行结束。 2)局部性原理 程序在执行时将呈现出局部性规律: 在一较短的时间内 程序的执行仅局限于某个部分; 相应地,所访问的存储空间也局限 于某个区域。...
2018-11-06 21:18:55
634
1
转载 截取字符串substring与substr
截取字符串substring与substrString.substring( ):用于返回一个字符串的子串用法如下:string.substring(from, to)其中from指代要抽去的子串第一个字符在原字符串中的位置to指代所要抽去的子字符串最后一个字符的后一位(这个参数可以不加)下面就对String.substring( )做举例:1、string.substring(...
2018-10-31 20:34:46
712
转载 第四章 分页存储管理方式
一,存储管理的离散分配方式基本分页存储管理基本分段存储管理段页式存储管理二,基本分页存储管理离散分配内存:作业规定大小划分成小份;内存也按同样大小划分成小份 作业的任一小份可分散放入内存任意未使用的小份1)页面的概念内存划分成多个小单元,每个单元K大小,称(物理)块。作业也按K单位大小划分成片,称为页面。物理划分块的大小 = 逻辑划分的页的大小页面大小要...
2018-10-30 17:19:10
2096
转载 第4章 存储器管理 连续分配存储管理方式
一,连续分配存储管理方式1,连续分配方式为一个用户程序分配一个连续的内存空间(1)单一连续分配内存分为系统区和用户区两部分: 系统区:仅提供给OS使用,通常放在内存低址部分用户区:除系统区以外的全部内存空间,提供给用户使用。最简单的一种存储管理方式,只能用于单用户、单任务的操作系统中。 优点:易于管理。 缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少...
2018-10-30 16:52:57
688
转载 第四章 存储器管理 程序的装入和链接
一,程序的装入和链接1,程序进内存的一般过程:1)编译compiler:编译程序:将用户源代码编译成若干个目标模块。2)链接link:链接程序:将形成的一组目标模块,及它们需要的库函数链接在一起,形成一个完整的装入模块。3) 装入load:由装入程序将装入模块装入内存,构造PCB,形成进程,开始运行(使用物理地址)。2,地址的概念1)逻辑地址(相对地址,虚地址)用户...
2018-10-30 16:28:09
326
转载 第3章 处理机调度与死锁
1,死锁指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。2,死锁与饥饿的区别死锁(Deadlock): 指进程之间无休止地互相等待(堵塞状态)饥饿(Starvation):指一个进程无休止地等待(运行状态)3,产生死锁的原因1)死锁发生:双方都拥有部分资源,同时在请求对方已占有的资源。2)请求推进的次序与对...
2018-10-28 13:25:21
396
原创 第三章 实时调度
一,实时系统1,指系统能够在限定的响应时间内提供所需水平的服务。2,指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。3,实时任务:具有明确时间约束的计算任务,有软/硬,随机/周期性之分。 硬实时任务:必须满足任务对截止时间的要求 。 软实时任务:联系着一个截止时间,但不严格,可偶尔错过,不会对系统造成大的...
2018-10-28 12:35:54
406
原创 第三章 处理机调度与算法
一,处理机调度: 多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。 作用:提高处理机的利用率、改善系统性能,很大程度上取决于处理机调度的性能。二,处理机调度的基本概念 作业进入系统驻留在外存的后备队列上,再至调入内存运行完毕,可能要经历下述三级调度。 1.高级调度(High Scheduling) ...
2018-10-16 20:32:57
331
原创 第二章 线程
一,线程1.将进程划分为多个功能单位调度执行。A a1 a2 a3 B b1 b2 b3 主要体现在切换效率的提高上可以切换到an上继续执行,避免切换到B,节约切换开销。2.多线程系统中,同一个进程中的多个线程 共享进程资源 可并发执行3,线程的属性 (1)多线程OS中,一个进程包括多个线程,每个线...
2018-10-10 20:22:13
188
原创 第二章 进程通信
一,进程通信是指进程之间的信息交换。(1)低级通信——进程之间的互斥和同步 信号量机制是有效的同步工具,但作为通信工具缺点如下: (1)效率低(通信量少) (2)通信对用户不透明(程序员实现,操作系统只提供共享存储器供代码操作)(2)高级进程通信 用户直接利用操作系统提供的一组通信命令,高效地传送...
2018-10-10 20:10:50
550
原创 计算机操作系统——管程
一.什么是管程1.1973年,Hoare和Hanson提出管程思想: 将共享变量及对共享变量能够进行的所有操作集中在一个模块中。(把信号量及其操作原语“封装”在一个对象内部) 二.管程的组成管程需要封装 (1)一组局部变量 (2)对局部变量操作的一组过程(2)对局部变量进行初始化的语句。三.管程的特点1.任何进程只能通过调用管程提供的过程入口才能进入管程访问...
2018-10-10 19:37:10
2534
原创 经典进程同步问题:卡车装水
两个工人需要对十辆卡车装水,每辆卡车装满20桶水时离开,然后下一辆卡车进来。分析:10辆卡车是前一辆装满水,下一辆才能开进来,所以卡车之间的关系是互斥的。 两个工人当卡车没有装满时,可以同时向卡车装水。empty=0;go=0;mutex1=1;int in=0;卡车类:int car(){ while(1){ wait(mutex1);/...
2018-09-26 19:42:46
305
原创 进程控制的经典问题:读者写者问题
读者——写者问题一个数据文件被多个进程共享。Reader进程只要求读文件,Writer进程要求写入内容。合理的同步关系是:多个读进程可同时读;Writer进程与任何其他进程(包括Reader进程或其他Writer进程)不允许同时访问文件。semaphore rmutex=1,wmutex=1;int readcount=0;//读者的数量读者Reader : begin...
2018-09-26 11:36:12
924
原创 经典进程的同步问题-哲学家进餐问题
哲学家进餐问题五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在桌子上有五只碗和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐毕,放下筷子继续思考。1.让一个哲学家先不吃。semaphore chopstick[5]={1,1,1,1,1};//第i位哲学家do{ wait...
2018-09-26 11:08:10
1536
原创 经典进程的同步问题:生产者-消费者问题
1.生产者-消费者问题 假定在生产者和消费者之间的公用缓冲池中具有n个缓冲区,消费者不能同时取一个缓冲区的产品,生产者不能同时向同一个缓冲区放入产品。只有缓冲区中有产品时,消费者才可以取产品,只有缓冲区有空时,生产者才可以放入产品。消费者与生产者也不能同时对同一个缓冲区进行操作。int in=0,out=0;item buffer[n];semaphore mutex=1,em...
2018-09-26 10:43:14
3035
2
转载 正则表达式
转自于:http://blog.youkuaiyun.com/q326527970/article/details/7513974 (一)字母、数字、下划线、汉字正则表达式1. 只有字母、数字和下划线且不能以下划线开头和结尾的正则表达式:^(?!_)(?!.*?_$)[a-zA-Z0-9_]+$ 只有字母和数字的: ^[a-zA-Z0-9_]+$ 2. 至少一个汉字、数字、字母...
2018-09-02 21:30:01
273
原创 jsp连接oracle实现简单的增删改查
数据库查询操作<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.sql.*"%><html><head> <title>Title</title></head><body><% ...
2018-05-05 11:06:24
4126
原创 C++顺序表实例
#include "stdafx.h"#include<iostream>using namespace std;const int maxsize = 100;//顺序表最大输入范围template<class T>class setlist{private: T data[maxsize];//存放数据的数组date; int length;//线性表...
2018-04-09 22:09:11
821
1
原创 c++中类模板与结构体模板总结
今天刚刚编完数据结构中的单链表,其中用到了类模板,发现自己有许多不熟练的地方和普通的基本类型不一样的地方。所以现在记录下来,以便以后的复习与回顾。模板的定义的关键词是template1.类模板的定义template<class T>class Linklist{public: Linklist(); Linklist(T a[], int i); ~Linklist();...
2018-04-09 22:05:23
11523
5
原创 c++单链表样例
#include "stdafx.h"#include<iostream>using namespace std;template<class T>struct Node //定义结构体{ T data; Node<T> *next;};template<class T>//定义模板类class Linklist{public...
2018-04-09 21:37:41
733
原创 Java基本图形用户界面及基本事件实例
import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class show extends JFrame implements ActionListener{ private JButton cat,d...
2018-03-16 20:52:24
821
原创 Java 编程思想——实现多个类,多态、继承与封装
Java面向对象,通过封装,继承,多态来把程序的耦合度降低。对于初学者来说,应该养成良好的编程习惯,应用面向对象的编程思想,不要把方法函数、数据都放在一起,跟不应该是在一个类中。一个类最好包含一件事情的方法和数据,把应用层和显示层分开,降低程序的耦合度。不仅增加了程序的可读性,也便于以后的程序修改。 比如实现一个动物 猫、狗的叫声功能,就可以将狗、猫、和显示都单独写一个类,猫和狗类有公共的...
2018-03-16 19:00:35
458
转载 html style属性的用法
style属性提供了一种改变所有HTML元素的样式的通用方法。在 HTML 4 中,有若干的标签和属性是被废弃的。被废弃(Deprecated)的意思是在未来版本的 HTML 和 XHTML 中将不支持这些标签和属性。应该避免使用下面这些标签和属性:标签描述<center>定义居中的内容。<font> 和 <basefont>定义 HTML 字体。<s&g...
2018-03-09 20:36:53
10236
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人