- 博客(155)
- 收藏
- 关注
原创 操作系统复习知识点(第七章)
文件管理在操作系统中增加文件管理功能,专门管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户。文件和文件系统文件系统的管理功能,是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。文件系统的层次结构文件系统的模型可分为三个层次:最底层是对象及其属性 中间层是对对象进行操纵和管理的软件集合 最高层是文件系统提供给用户的接口。基本概念数据项:基本数据项和组合数据项 记录:相关数据项集合 关键字:用于唯一的标识一个记录。 文件:有结构和无结构,属性
2022-01-10 01:09:03 631 1
原创 操作系统复习知识点(第六章)
1.I/O软件的层次结构通常把 I/O 软件组织成四个层次: 用户层 I/O 软件。实现与用户交互的接口,用户可直接调用该层所提供的、与 I/O 操作有关的库函数对设备进行操作。 设备独立性软件。用于实现用户程序与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配与释放等,同时为设备管理和数据传送提供必要的存储空间。 设备驱动程序。与硬件直接相关,用于具体实现系统对设备发出的操作指令,驱动 I/O 设备工作的驱动程序。 中断处理程序。CPU 先保护被中断进程的 CPU 环境,再转
2022-01-10 00:50:15 1681
原创 操作系统复习知识点(第四章、第五章)
存储器管理1.多层结构的存储器系统存储器的多层结构。存储层次至少应具有三级:最高层为 CPU 寄存器,中间为主存,最底层是辅存。还可以根据具体的功能分工细划为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质等 6 层。在存储层次中越往上,存储介质的访问速度越快,价格也越高,相对存储容量也越小。主存储器与寄存器主存储器。 主存储器简称内存或主存。由于主存储器的访问速度远低于 CPU 执行指令的速度,为缓和这一矛盾,在计算机系统中引入了寄存器和高速缓存。 寄
2022-01-09 01:12:04 1002
原创 操作系统复习知识点(第三章)
处理机调度1.高级调度、中级调度、低级调度高级调度:根据某种算法,把外存上处于后备队列中的那些作业调入内存。(作业调度) 中级调度:为了提高内存利用率和系统吞吐量,使那些暂时不能运行的进程不再占用内存资源,将它们调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。(进程调度) 低级调度:保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。2.作业、作业步、作业流作业:包含通常的程序和数据,还配有作业说明书,系统根据该说明书对程序的运行进行控制。批处理系统中是以作业为基本单
2022-01-07 16:48:44 4675 2
原创 操作系统复习知识点(第二章)
1.进程和程序的区别动态性: 是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。有一定的生命期。 程序只是一组有序的指令集合,是静态实体。 并发性: 是进程的重要特征,同时也是OS的重要特征。引入进程的目的是为了使其程序能和其他进程的程序并发执行。 程序是不能并发执行的 独立性: 是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。 对于未建立任何进程的程序,不能作为独立单位参加运行 2.P
2022-01-06 00:50:01 760 1
原创 操作系统复习知识点(第一章)
1.设计现代OS的主要目标是什么?有效性(资源利用率) 方便性(用户接口) 可扩充性(功能模块) 开放性(兼容)2.OS的作用可表现在哪几个方面?OS作为用户与计算机硬件系统之间的接口(方便性,OS是系统软件,接口是软件接口) OS作为计算机系统资源的管理者(四类系统资源:处理器、存储器、I/O设备、信息(数据程序)) OS实现了对计算机资源的抽象(裸机+软件=强大功能)3.为什么说OS实现了对计算机资源的抽象?OS首先在裸机上覆盖一层I/O设备管理软件,实现对计算机硬件操作的第一
2022-01-05 20:30:00 328
原创 Java 期末试题之GeoJSON
1.概述GeoJSON是一种编码各种地理数据结构的格式。GeoJSON 是用 JSON 的语法表达和存储地理数据,可以说是 JSON 的子集。 GeoJSON总是由单个对象组成。此对象(以下称为GeoJSON对象)表示一个几何图形、特性或功能集合。 完整的GeoJSON数据结构始终是一个对象(用JSON术语来说)。在GeoJSON中,对象由名称和成员值成对的集合(也称为成员)组成。对于每个成员,名称总是一个字符串。成员值要么是字符串、数字、对象、数组,要么是文字之一:true,false,和nul.
2021-12-28 16:49:28 1230 4
原创 Java Swing图形化编程期末试题(附有注释)
/*Explorer*/import javax.swing.SwingUtilities;public class Explorer {//资源管理器 public static void main(String args[]){ SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new MainFrame();//创建主机 } });//等Swing.
2021-12-27 00:37:34 1123 7
转载 Java Swing图形化编程之JScrollPane
概述JScrollPane,滚动面板。JScrollPane 支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。JScrollPane 内包含一个视口(ViewPort),表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。构造方法:/** * 参数说明: * view: 需要滚动显示的视图组件 * vsbPolicy: 垂直滚动条的显示策略 *
2021-12-27 00:14:16 2051
原创 Java Swing图形化编程之JTextArea
概述JTextArea,文本区域。JTextArea 用来编辑多行的文本。JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致。构造方法:/** * 参数说明: * text: 默认显示的文本 * rows: 默认可见的行数 * columns: 默认可见的列数 * * 默认由 rows 和 columns 决定首选大小 */JTextArea()JTextArea(String text)
2021-12-27 00:10:32 3797
原创 Java Swing图形化编程之JTextField
概述JTextField,文本框。JTextField 用来编辑单行的文本。构造方法:/* * 参数说明: * text: 默认显示的文本 * columns: 用来计算首选宽度的列数;如果列设置为 0,则首选宽度将是组件实现的自然结果 */JTextField()JTextField(String text)JTextField(int columns)JTextField(String text, int columns)常用方法:
2021-12-26 16:26:46 316
原创 Java Swing图形化编程之JFileChooser
概述JFileChooser:文件选取器。JFileChooser为用户选择文件提供了一种简单的机制,包括打开文件和保存文件。常用方法:/** * 参数说明: * currentDirectory: 打开文件选取器时默认显示的文件夹(默认为用户文件夹) * currentDirectoryPath: 打开文件选取器时默认显示的文件夹(默认为用户文件夹) */JFileChooser()JFileChooser(File currentDirectory)...
2021-12-26 16:05:40 461
原创 Java Swing图形化编程之JButton
1.概述JButton:按钮构造方法:// 创建不带有设置文本或图标的按钮JButton()// 创建一个带文本的按钮JButton(String text)// 创建一个带图标的按钮JButton(Icon icon)常用方法:// 设置按钮的 文本、字体 和 字体颜色void setText(String text)void setFont(Font font)void setForeground(Color fg)/* 以下方法定义在 javax.sw
2021-12-26 11:11:28 598
原创 Java Swing图形化编程之JPanel类
概述JPanel组件定义面板实际上是一种容器组件,用来容纳各种其他轻量级组件。此外,用户还可以用这种面板容器绘制图形。构造方法JPanel():创建具有双缓冲和流布局(FlowLayout)的面板。JPanel(LayoutManager layout):创建具有制定布局管理器的面板。 常用方法void add(Component):添加组件。void add(Component,int):添加组件至索引指定位置。void add(Component,Object):按照指定
2021-12-26 01:42:43 313
原创 Java GridBagLayout(网格包布局管理器)
概述GridBagLayout(网格包布局管理器)是在网格基础上提供复杂的布局,是最灵活、 最复杂的布局管理器。GridBagLayout 不需要组件的尺寸一致,允许组件扩展到多行多列。每个 GridBagLayout 对象都维护了一组动态的矩形网格单元,每个组件占一个或多个单元,所占有的网格单元称为组件的显示区域。 GridBagLayout 所管理的每个组件都与一个 GridBagConstraints 约束类的对象相关。这个约束类对象指定了组件的显示区域在网格中的位置,以及在其显示区域中应该如何
2021-12-26 01:33:11 3252
原创 Java JFrame、JPanel详解
JFrame是一个顶层的框架类,好比一个窗户的框子。也是一个容器类。这个框子可以嵌入几个玻璃窗。 JPanel是一个容器类,相当于一大玻璃窗。JFrame自带了一个玻璃窗。可以通过语句 Container c=getContentPane();获得该内容窗格。也可以定制一个新的玻璃面板替换原来的自带的玻璃窗,代码如下:JPanel jp=new JPanel();this.setContentPane(jp);JFramejava的GUI程序的基本思路是以JFrame为基础..
2021-12-25 01:33:07 7128
原创 Java Swing图形化编程之JFrame类
JFrame类是用来创建窗体的注意:窗体是会为你提供一个最小化和可关闭化按钮创建的窗体是一个可以任意拖动大小的窗体,你可以选中窗体的任意一个边框进行拖拽,他就会改变现有的大小,但是如果你想拥有一个固定大小的窗体那么你就需要给自己的窗体增加限制条件;可以调用窗体的setResizable方法对窗体的操作进行限制;若要创建一个需要在多个地方使用的窗体,可将此窗体封装为JFrame的一个子类,即创建一个类继承JFrame类。JFrame方法的代码举例import javax.swing.
2021-12-24 10:25:49 2162
原创 Java SwingUtilities.invokeLater(new Runnable(){})方法详解
SwingUtilities.invokeLater():invokeLater一般用于在线程里修改swing组件的外观,因为swing组件是非同步的,所以不能在线程中直接修改,会不同步,得不到期望的效果,所以要把修改外观的代码放在一个单独的线程中,交给invokeLater:后面的程序(线程中的重写的run()方法及run()方法中的代码)和这个参数的线程(new Runnable())对象可以并行,异步地执行import javax.swing.SwingUtilities;public c
2021-12-24 09:58:51 3990
原创 Java 异常及异常的处理
1. 异常的体系结构java.lang.Throwable |-----java.lang.Error:一般不编写针对性的代码进行处理。 |-----java.lang.Exception:可以进行异常的处理 |------编译时异常(checked) |-----IOException |-----FileNotFoundExcepti...
2021-12-17 23:52:38 157
原创 Java interface接口及接口与抽象类的区别
1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.如何定义接口:定义接口中的成员JDK7及以前:只能定义全局常量和抽象方法 >全局常量:public static final的.但是书写时,可以省略不写 >抽象方法:public abstract的 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(略4. 接口中不能定义构造器的!意味着接口不可以实例化5. 接口通过让类去实现(implemen..
2021-12-17 23:22:36 605
原创 Java abstract关键字
abstract: 抽象的1.可以用来修饰类、方法2.具体的abstract修饰类:抽象类 此类不能实例化 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 --->抽象的使用前提:继承性 abstract修饰方法:抽象方法 抽象方法只有方法的声明,没方法体 包含抽象方法的类,一定是一个抽象类,需要使用abstract修饰。反之,抽象类中可以没有抽象方法的 若子类重
2021-12-17 11:35:33 207
原创 Java final关键字
final:最终的1.可以用来修饰类、方法、变量2.具体的final 用来修饰一个类:此类不能被其他类所继承。 比如:String类、System类、StringBuffer类 final 用来修饰方法:表明此方法不可以被重写,但是⼦类可以⽤⽗类中final修饰的⽅法; 比如:Object类中getClass(); final 用来修饰变量:此时的"变量"就称为是一个常量 基本类型变量使⽤final修饰了就不可变了 对于引⽤类型变量被final修饰了:引⽤变量引⽤不可
2021-12-17 11:22:05 208
原创 Java static关键字
1.可以用来修饰的结构主要用来修饰类的内部结构属性、方法、代码块、内部类2.static修饰属性静态变量(或类变量) static修饰属性的其他说明: 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用 静态变量的加载要早于对象的创建。 由于类只会加载一次,则静态变量在内存中也只会存在一份:存在方法区的静态域中。 3.静态变量内存解析:4.static修饰方法静态方法、类方法 随着类的加载而加载,可以通过"类.静态方法"的方...
2021-12-17 11:09:50 91
原创 Java super关键字以及与this的区别
super 关键字可以理解为:父类的 可以用来调用的结构: 属性、方法、构造器 super调用属性、方法: 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super." 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。 特殊情况:当子类重写了父类中的方法以后,我们想在子类的
2021-12-17 10:55:25 91
原创 Java this关键字
概念Java中为解决变量的命名冲突和不确定性问题,引⼊关键字this代表其所在⽅法的当前对象的引⽤ this只能在类中的⾮静态⽅法中使⽤,静态⽅法和静态的代码块中绝对不能出现this 原因:static⽅法在类加载时就已经存在了,但是对象是在创建时才在内存中⽣成。 三种情况可用到this关键字:1) 构造⽅法中指该构造器所创建的新对象; public class B{ A a; //A是⼀个类 public B(A a){ this.a =
2021-12-17 10:05:28 336
原创 Java 构造方法以及重载和重写的区别
构造方法主要⽤来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符⼀起使⽤在创建对象的语句中.⼀个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载 //构造函数的重载:public Animal2(String name,int myid) { this.name=name; id=myid; } public Animal2(String name) { this.name=name; } public Animal2(i
2021-12-17 09:57:38 370
原创 Java 类与对象的三大特征
一、封装将类的某些信息隐藏在类的内部,不允许外部程序直接访问,⽽是通过该类提供getter setter的⽅法来 对隐藏的信息进⾏操作和访问封装的实现步骤:修改属性的可⻅性设为(private) 创建getter/setter⽅法(⽤于属性的读写)(通过这两种⽅法对数据进⾏获取和设定,对象通过 调⽤这两种发⽅法实现对数据的读写) 在getter/setter⽅法中加⼊属性控制语句(对属性值的合法性进⾏判断)“⾼内聚,低耦合”:高内聚低耦合,是软件工程中的概念,是判断软...
2021-12-15 01:15:11 236
原创 Java 一维数组的常见操作以及多维数组初始化的3种方法
一、数组的常⻅操作声明数组; int arr[] 数组初始化; int [] arr={1,2,3,4} int [] arr=new int[]{1,2,3,4}查看数组⻓度; arr.length;for each循环; for(int a:arr){ System.out.println(a);数组拷⻉; int [] arr2=arr1;int[] arr2=Arrays.copyOf(arr,arr.length(⾃定义⻓度)); 数组排序; Array
2021-12-15 00:23:01 965
原创 Java 多线程及进程和线程的区别
一、进程和线程的区别进程:是正在运行的,进程是资源分配的最小单位。线程:是cpu调度的最小单位(线程依赖于进程)。引用了(1条消息) 【Java】室友打一把王者就学会了多线程_执久呀的博客-CSDN博客博主的生动比喻打个比喻,好比你打一把王者(其实我不玩哈doge),进程比作是你开的那一把游戏,线程比作成每个玩家所选的英雄或者是游戏中的水晶野怪等之类的。带着这个比喻来理解进程和线程的一些关系。一个进程有多个线程就叫多线程。是不是感觉非常好理解。❤1.线程在进程下进行
2021-12-14 00:08:04 180
原创 Java 正则表达式的用法及常用方法
一.概述用来描述或者匹配一系列符合某个语句规则的字符串二.单个符号含义1、英文句点 .符号:匹配单个任意字符。表达式t.o 可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。2、中括号 [ ] :只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。3、 | 符号:相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。...
2021-12-13 23:17:05 1512
原创 Java List的contains()方法详解以及重写equals()方法时需要注意的地方
contains方法内部实现@Override public boolean contains(Object o) { return indexOf(o) != -1; indexof方法内部实现@Override public int indexOf(Object o) { E[] a = this.a; //当o是null的时候也会返回集合中null的位置if (o == null) { for (int i = 0;
2021-12-13 00:38:39 581
原创 Java List集合(ArrayList、LinkedList、Vector)的使用方法
List特性:可以存放同一种类型的元素。 内部维护元素之间的顺序,是有序集合。 元素是可以重复的。三种实现类的区别:1.ArrayList内部存储的数据结构是数组存储。数组的特点:元素可以快速访问。每个元素之间是紧邻的不能有间隔,缺点:数组空间不够元素存储需要扩容的时候会开辟一个新的数组把旧的数组元素拷贝过去,比较消性能。从ArrayList中间位置插入和删除元素,都需要循环移动元素的位置,因此数组特性决定了数组的特点:适合随机查找和遍历,不适合经常需要插入和删除操作。2.Vecto
2021-12-13 00:18:19 585
原创 Java Set集合(HashSet、LinkedHashSet、TreeSet)的使用
HashSet HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。HashSet中是不能出现重复数据的。 HashSet中可以出现空数据。 HashSet中的数据是无序的。 Set<String> set = new HashSet<String>(); for(int i= 0;i<6;i++){ set.add(i+""); } set.add("3"); //重复数据,不会写入 ...
2021-12-12 23:55:52 260
原创 Java Collection接口常用方法
Collection 接口Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口——List、Set接口。 Collection 接口存储一组不唯一,无序的对象。 由于List、Set是Collection的子接口,意味着所有List、Set实现类都有Collection的方法。常用方法的使用import java.util.Arrays;i.
2021-12-12 23:45:25 299
原创 Java Map接口(HashMap、TreeMap)
1.HashMap介绍HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。 HashMap 是无序的,即不会记录插入的顺序。size() 获取集合中名值对的数量put(key k, value v ) 添加元素get( k ) 根据键获取键对应的值remove( key) 删除键对应的元素clear()清空c
2021-12-11 00:07:21 1753 2
原创 Java 获取数组、字符串、泛型集合的长度
java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法 java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看 代码举例说明:public static void main(String[] args) { String []str={"xan","ao".
2021-12-10 09:41:34 518
原创 Java 统计list集合中每个元素的次数
/** * java统计List集合中每个元素出现的次数 * 例如frequencyOfListElements(["111","111","222"]) * 则返回Map {"111"=2,"222"=1} */ public static Map<String,Integer> frequencyOfListElements( List<String> items ) { if (items == null || ite...
2021-12-10 09:34:38 1124
原创 Java 插入排序(insertion sort)
public static void insertionSort(int[] array) { if (null==array || 1==array.length) { return; } for (int i=1; i<array.length; i++) { int insertValue = array[i];//暂存需要插入元素 int j = i-1; //从右向左比较元素 f.
2021-12-10 09:23:54 326
原创 Java Collections.swap()方法
作用:交换List集合中任意两个元素的位置代码:import java.util.ArrayList;import java.util.Collections;public class SwapElements {public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add("A"); arrayList.add("B");
2021-12-10 09:11:31 8837
原创 Java StringBuffer的常用方法
StringBuffer是字符串缓冲区,是一个容器。1、长度是可变化的;(数组长度不变)2、可以操作多个数据类型;3、最终会通过toString方法变成字符串。 StringBuffer sb = new StringBuffer("HelloWork1234567890"); // 增加(在字符串末尾插入字符) System.out.println(sb.append(".java")); //HelloWork1234567890.java
2021-12-09 10:52:59 148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人