- 博客(27)
- 收藏
- 关注
原创 存储管理(一)
为了使程序员在编程时不受内存的结构和容量的限制,系统为用户构造一种存储器,其结构可能与内存结构不同,容量可能远远超过内存的实际容量。根据进程的需要,分配空间,作业装入内存时,把可用内存分出一个连续区域给作业,且分区大小正好适合作业大小的需要分区大小和个数依装入作业的需要而定。/它是虚拟存储的基础。:把装入模块装入主存后,并不立即将装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正执行时才进行。按分区的先后次序,从上次分配的分区起查找(到最后分区时再回到开头),找到符合要求的第一个分区。
2025-03-28 21:01:42
844
2
原创 操作系统——(管程、线程、进程通信)
一个管程包含一个数据结构和能为并发进程所能执行的一组操作,这组进程能同步管理进程和改变管程中的数据。(2)特点:1.进程通常使用于管理资源的,因此管程中有进程等待队列和相应的等待和唤醒操作。2.条件变量:管程利用wait原语让进程等待,等待原因可以用条件变量condition区别。3.只能被管程内的操作互斥访问(保证数据一致性,某一时刻只能有一个过程执行)
2025-03-20 18:36:42
383
原创 关系数据库设计理论
函数依赖:通俗讲就是关系R中任意两个元组的X值相同时,Y值也相同,则称X函数决定Y,或者Y函数依赖于X,记为X→Y。消除数据依赖中的不合适部分,即模式分解 关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程度可用范式来衡量。设X,Y,Z是关系R中互不相同的属性集合,如果X→Y,X不函数依赖于Y(Y —//—>X),Y→Z,则称Z。是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。如果X→Y,并且对于X的任何一个真子集Z,Z→Y都不成立,则称Y。
2025-03-18 21:16:57
927
原创 操作系统引论
首先,在了解操作系统之前,我们需要了解到计算机有软件与硬件,硬件大致有CPU、内存以及I/O设备(输入输出设备,如键盘等)。软件就是我们相对熟悉的各种apps等,而我们的操作系统就属于软件行列。操作系统是配置在硬件上的第一层软件,是一个大的程序系统,主要作用是去管理并分配软、硬件设备,调度它们工作并提高它们的利用率和吞吐量,为用户和应用程序提供一个简单的接口。
2025-03-01 16:28:02
999
原创 匿名内部类
首先,顾名思义匿名类简单来说就是没有名字,。我们之前了解到内部类的知识,在一个类涵盖在另一个类当中,,那么这个类就叫内部类,如果这个类没有名字就叫匿名内部类。
2024-09-24 21:03:06
425
原创 String、StringBuffer、StringBuilder类的区别(日常问题——面)
在实际情况中我们往往会遇到多个线程共享或者修改数据,如果数据不同,可能会出现安全问题,为了避免出现不必要的危险,必须保证数据实时更新,就有了锁同步处理,然StringBuilder没有锁同步处理,因此是不同步处理的,也就是非线程安全的。如果是final修饰的是一个基本数据类型,那么这个变量的值就确定了,如果fianl修饰的是一个引用类型,因为引用类型在堆中存的是地址,所以这个变量的地址就确定了,但是确定的地址指向的那个值还可以改变!修饰了,因此不能改变,这种说法是错误的!String的内容不能修改,
2024-09-24 21:02:13
982
原创 图书系统的创建(三)——日记
同样的,我们可以创建一个共同特征user父类,我们可以在里面定义name变量和构造方法。在两个子类中,我们肯定一个菜单menu去给出操作选项,例如:System.out.println("1.借阅图书");System.out.println("2.归还图书");System.out.println("3.查找图书");System.out.println("4.显示图书");System.out.println("0.退出系统");
2024-09-01 11:57:12
856
原创 图书系统的创建(二)——日记
在书架中我们存放有书籍,对于存放书籍我们使用的是数组,那么数组的长度就是一个值得注意的地方,此外还有就是数组使用长度,即书籍占用的长度,我们可以将用number定义。在书架包里我们有getNumber(),setNumber()方法去得到它,在借阅,归还,显示和添加等操作中我们都要用到它。我们可以用condition定义租借状态,其类型为boolean类型,未初始化是为false,可以认为未借出,如果借出了,我们就修改为将其赋值为true,System.out.println("书架满了,不能添加!
2024-09-01 10:27:54
337
原创 图书系统的创建(一)——日记
写出这些基本的变量后,我们就要存储具体的图书,我们可以建立一个Booklist书架来存储我们的图书,这样一本一本的图书的储存肯定要用的数组,所以,我们需要建立一个数组并将它初始化,当然也需要将独立的书本通过get获得。this.books[0] = new Book("三国演义","罗贯中",20,"小说");this.books[1] = new Book("西游记","吴承恩",21,"小说");this.books[2] = new Book("红楼梦","曹雪芹",22,"小说");
2024-08-28 20:33:27
377
原创 Object类的存在及常见方法
Object类是java中默认提供的一个类,在java中所有的类都默认继承Object类,即所有类的对象的可以直接使用Object的引用的进行接收。Object中有一些定义好的方法,如toString(),equals(),hashcod()等方法,下面我们来分析一下这三种方法。
2024-08-26 20:03:51
348
原创 java面向接口系列(一)——抽象类和接口
抽象类中可以包含普通方法和普通字段, 这样的普通方法和字段可以被子类直接使用(不必重写,就像Animal中的name一样,这个属性在任何子类当中都是存在的), 而接口中不能包含普通方法, 子类必须重写所有的抽象方法。java中,如果被abstract修饰的类就称为抽象类,抽象类中被abstract修饰的方法称为抽象方法,抽象方法不用给出具体的实现体(内部细节代码)。接口间的继承就相当于合并多个接口,但无论怎样接口最后的实现都要在最后的类中重写接口方法。接口中可以含有变量,但是接口中的变量会被隐式的指定为。
2024-08-02 18:34:47
810
原创 java面向对象系列(四)——多态
通俗来讲就是多种形态,完成某个行为,不同的对象会有不同的结果和状态!总的来说:同一件事情,发生在不同对象身上,就会产生不同的结果。(1)多态的实现条件1.2.3.调用方法的形参类型必须时父类类型才可以程序员在编写eat这个方法的时候参数类型为Animal (父类),此时在该方法内部并当前的 a 引用指向的是哪个子类的实例此时a这个引用调用eat方法可能会有多种不同的表现和a引用的实例相关),这种行为就称为:也称为前期绑定早绑定。
2024-07-30 12:18:30
981
原创 java面向对象系列(三)——继承
通过子类对象访问父类与子类中不同名方法时,优先在子类中找,找到则访问,否则在父 类中找,找到则访问,否则编译报错。在子类方法中或者通过子类对象访问方法时,则优先访问自己的,自己没有时再到父类中 找,如果父类中也没有则报错。子类和父类可能存在相同名称的成员,如果要在子类中访问父类中相同名称的成员时,要用到super关键字,该关键字的作用是:在。如果访问的成员变量子类中无,则访问父类继承下来的,如果父类也没有定义,则编译报错。
2024-07-27 18:13:17
593
原创 java面向对象系列(一)——类
在java中定义类的时候会用到class,class是定义类的关键字,一般定义类格式如下:成员变量成员方法ClassName为类的名字。{}内是类的主体,类中包含的内容称类的成员 ,有成员变量和成员方法。1. 一般一个文件当中只定义一个类。2. main方法所在的类一般要使用public修饰。3. public修饰的类必须要和文件名相同。(2)类的实例化定义了一个类,就相当于在计算机中定义了一种新的类型,与intdouble类似,用类类型创建对象的过程,称为类的实例化,在java中采用。
2024-07-24 17:05:42
569
原创 方法的重载与重写
在Java中,如果多个方法的名字相同(父类与子类当中),参数类型也相同,则称该几种方法被重写了。在继承这一方面的知识当中,会遇到子类继承父类的变量及方法,如果此时子类与父类的方法名称与参数类型也相同,那么就会遇到所谓的重写。注意:1.重写只发生在子类当中,同类不存在。2.重写指的是两个方法的方法名、返回值、参数类型和个数相同(子类重写父类)。3.若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数列表时,也就是重写时,优先访问子类的方法!!
2024-07-20 11:08:37
469
原创 方法的使用
java中的方法就像c语言的函数,他的意义是:1.减少代码冗杂,重复代码使用(一段代码重复使用)2.让代码更好理解,简单明了。3.可以运用系统已有的方法。
2024-07-19 17:49:42
297
原创 KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。
不难发现,对于正斜杠,当外循环和内循环的i和j相等的时候就可以答应出符号 * ,而对于内斜杠,我们发现 i + j ==n - 1时,也可以打印出符号 *。综上,我们可以用循环解决正斜杠和反斜杠的情况,这是循环的方法,当然数组也可以解决,但不是最优解,这里就不予以介绍。打印X图形,我们要找到规律,我们可以将X看成正斜杠和反斜杠两部分,我们可以用两个循环来解决(嵌套循环)。
2024-03-04 20:03:26
903
1
原创 C语言之猜数字游戏
这是由于 rand()函数运用前提是有一个“种子”,种子不变,生成的随机数是不变的,这时我们又要学到另外的函数 srand() :void srand( unsigned int seed )和 time 函数()(要用到time.h头文件),srand函数是初始化随机数生成器的工具,而 time函数会返回当前日历时间与1970年1月1日0时0分0秒的差值(这里不细述,可以到网站查找),这时我们就可以把时间作为种子,那么种子就可以一直变化,而随机数的生成也就可以不断变化。至此,第二步就完成。
2024-02-24 12:51:52
409
1
原创 C语言中的地址算法
在地址表示中,我们常常将四个二进制位看成一个整体,如1111,而像四位数的二进制表达数有16种情况(0000,0001,0002....),于是我们就用十六进制来表达这么一个数,选择的编译器不同显示的位数就不同,常用的32编译器就是8个16进制数,而64位编译器就是16个16进制数,在十六进制中,我们有这种关系,0~9表示0~9,A~F表示10~15。希望这篇文章对你有所帮助!存储单位的大小是1字节(1Byte),每1B存储空间被编上一个地址,1B=8bit(比特),1bit=1个二进制位。
2024-02-04 19:29:44
736
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人