2021-09-20

二级Java选择题理论基础

所以即使具有相同优先级的多个线程的调度也不一定是分时的,它的运行方式是由具体JVM而定的。

对象锁在如下几种情况下由持有线程返还:
(1)当synchronized()语句块执行完后。
(2)当在synchronized()语句块中出现例外(exception)。
(3)当持有锁的线程调用该对象的wait()方法。此时该线程将释放对象的锁,而被放入对象的wait pool中,等待某事件的发生。
而suspend()方法只是基本线程控制方法,在一个线程中调用t.suspend(),将使t暂停执行,要想恢复线程,必须由其他线程调用t.resume()恢复t的执行。

本题考查的是修饰符的含义。
1、public指明变量为公有。
2、protected指明变量为保护访问。可被同一个包中其他类、不同包中该类的子类以及该类自己访问和引用。
3、final指明变量为常量。
4、默认(friendly)即无访问控制符,表示只能被同一个包中的类访问和引用.

在JScroolPane类中,主要是通过JViewport(视口)类来实现内容的滚动的。

Applet显示相关的3个方法:
1、paint()方法:Applet的paint()方法具体执行Applet的绘制,该方法定义如下:
public void paint(Graphics g)
paint()方法有一个参数g是Graphics类的实例,该实例对象由浏览器生成,它包含了Applet的图形上下文信息,通过它向Applet中显示信息,该对象相当于Applet的画笔。
在调用paint()方法时,由浏览器将该对象传递给paint()方法。
2、update()方法:
public void update(Graphics g)
用于更新Applet的显示。该方法将首先清除背景,再调用paint()方法完成Applet的具体绘制。
3、repaint()方法:
public void repaint()
repaint()方法主要用于Applet的重新显示,它调用update()方法实现对Applet的更新。

常用的容器有Frame(窗口容器),
Panel(面板容器),Applet(java小程序的容器),
Dialog(对话框容器)等。

所以当方法遇到异常又不知如何处理时,应声明异常。

如果产生异常,将会执行catch子句。
如果有多个异常,则应先处理子类异常,再处理父类异常,否则后面的异常处理,将得不到执行。

白盒测试的主要方法有逻辑覆盖、基本路径测试等。
等价类划分法、边界值分析法和错误推测法是对软件已经实现的功能是否满足需求进行测试和验证,属于黑盒测试。

概要设计使用的工具是系统结构图。
详细设计使用的工具主要有:程序流程图,N-S图,PAD,HIPO。
结构化分析的常用工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表等。

深度为7的满二叉树的总结点数为 个结点, ,叶子结点的个数为 。度为0的结点(即叶子结点)总是比度为2的结点多一个,所以度为2的节点数为64-1=63。

数据定义语言(DDL):该语言负责数据的模式定义与数据的物理存取构建。
数据操纵语言(DML):该语言负责数据的操纵,包括查询及增、删、改等操作。
数据控制语言(DCL):该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

创建线程有两种方法:
1、用实现Runnable接口的类的实例作target参数生成Thread类的实例
2、编写继承Thread类的类,并重写(override)run()方法

本题考查的是Applet的生命周期。
Applet从被加载到卸载,其被调用的方法依次如下:
init()、start()、stop()、destroy()

表达式expression只能返回这个几种类型的值:int、byte、short和char
Reader是一个读取字符文件的抽象类
20:34:08
自定义表格类中的model部分应实现接口AbstractTableModel。

20:34:15
Applet与Application的主要区别在执行方式上

20:41:24
JDBC(Java DataBase Connectivity)是Java程序与数据库连接的一种机制,

20:43:11
文件类File是java.io包中的一个重要的非流类。

20:43:58
在JAVA中很多类都实现Serializable接口,这个接口用来处理对象流,可是这个接口是没有方法和属性的。

FileInputStream可对一个磁盘文件涉及的数据进行处理。处理二进制数据不可以使用BufferedReader,否则提取的数据将不会保持原样。
10:14:55
yield():调用该方法后,可以使具有与当前线程相同优先级的线程有运行的机会。

10:17:32
ActionListener、FocusListener、MouseMotionListener都属于AWT事件监听器,

10:17:54
ChangeListener事件监听器可以处理的事件源有AbstractButton、DefaultCaret、JProgessBar、JSlider、JTabbedPane、JViewport。

10:18:53
Applet的生命周期中各方法的调用次序为:init()、start()、stop()、destroy()(其中start()和stop()可重复执行)。

10:34:48
所有的字符输出流都从Writer类继承。

10:36:19
Java对I/O访问所提供的同步处理机制是过滤流

10:38:05
Swing的按钮(JButton)和标签可显示图标和文本,而AWT的按钮(Button)和标签只能显示文本。

10:38:19
Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板上。

10:39:40
JApplet的内容面板的默认布局管理器是BorderLayout;而Applet的默认布局管理器是FlowLayout。

10:40:38
Applet事件处理机制与Java Application相同,采用监听器方式,JApplet也是采用相同的技术。

13:19:55
lib目录下都是库文件;
jre目录是Java程序运行环境的根目录,

13:21:02
在java中,执行跳转功能的语句有:break语句、continue语句、return语句,其中continue语句的功能是跳过循环体中下面尚未执行的语句,回到循环体的开始,继续下一轮的循环。

13:24:41
ByteArrayOutputStream字节数组输出流。故利用该类可以对内存进行写入操作。

13:29:33
将Applet嵌入在htm1文件中,必须使用特殊的htm1标记<Applet>,实现Applet的运行。
该标记中必须定义CODE、WIDTH和HEIGHT三个属性。CODE属性指定包含Applet字节码的文件名;WIDTH和HEIGHT属性定义了Applet显示区以像素为单位ide高度和宽度。

13:30:54
Applet的关键方法init(),Applet运行时,首先由浏览器调用init()方法,通知该Applet已被加载到浏览器中,使Applet执行一些基本初始化
。该方法经常被重写,实现设置布局管理器、数据初始化、放置一些构件等功能。但是,每个Applet必须至少实现init()、start()和paint()中的一个方法。

13:38:03
Swing继续沿用AWT中的布局管理器,包括FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout,另外Swing新增加了一个BoxLayout布局管理器

13:39:01
Java中内存分配的运算符是new。

13:48:02
通常对JApplet添加构件有两种方式:
1,用getContentPane()方法获得JApplet的内容面板,再向内容面板中添加构件:
Container contentPane=getContentPane(); contentPane.add(SomeComponent);
2.建立一个JPanel之类的中间容器,把构件添加到容器中,再用setContentPane()方法把该容器置为JApplet的内容面板:
JPanel contentPane=new JPanel(); contentPane.add(SomeComponent); setContentPane(contentPanel);

13:50:02
一个类只有实现了Serializable接口,它的对象才是可串行化的

13:50:57
lib目录下存放的都是库文件,而bin目录下有编译器、解释器和许多工具(如服务器工具、IDL、package工具和jdb等)。

13:52:40
short类型数据存储时占16位bit,表示的数据范围是-32768 ~ +32767。

18:57:10
当浏览器重新返回Applet所在页面时,Applet类的start()方法将被调用

19:01:23
Java引入的wait()和notify(),是Java.lang.object类的方法,是实现线程通信的两个方法。

19:02:35
接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系。

19:13:28
继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序复杂性。

19:14:14
toLowerCase():将字符串中所有字符变为小写。
valueOf():返回指定对象的原始值,方法String.valueOf(基本类型数据)的返回值是String型,即字符串型。
charAt():提取字符串中指定字符。
append()属于StringBuffer类。

19:15:25
线程的生命周期主要分为如下几个状态:新建状态、可运行状态、运行状态、阻塞状态、终止状态。
用new关键字和thread类或其子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态。

19:15:50
Java中的线程模型包含3部分:
1、一个虚拟的CPU。
2、该CPU执行的代码。
3、代码所操作的数据。

19:16:24
repaint()方法主要用于Applet的重新显示,它调用update()方法实现对Applet的更新

14:33:17
Applet获取参数是通过在HTML文件中采用标记定义参数。

14:34:40
run()方法必须是public访问权限,返回值类型为void

14:35:40
MouseEvent:处理鼠标拖动、移动、单击、按下、释放或者进入、退出组件的事件。
WindowEvent:处理窗口激活、失去活动窗口、最小化、打开、关闭或者退出的事件。
ActionEvent:处理按钮、列表双击、单击菜单项目。
KeyEvent:处理键盘的输入。

14:40:42
stop():当Applet被覆盖时,可用该方法停止线程。
destroy():关闭浏览器时调用,彻底终止Applet,从内存卸载并释放该Applet的所有资源。
paint():画Applet界面的基本方法。
start():在init()方法完成后,将调用start()方法,使Applet成为激活状态。

14:43:38
int类型是最常用的整数类型,它存储时占32位bit,能表示的数据范围比较大,是-2147483648~+2147483647。

14:46:07
非字符输出流都是OutputStream抽象类的子类。
其中ObjectOutputStream既继承了OutputStream抽象类,又实现了ObjectOutput接口,这是Java用接口技术代替双重继承例子,其构造方法参数是串行化了的对象。

14:46:57
本题考查的是输入输出及文件操作。
ObjectOutputStream.writeObject()的作用是把一个实例的对象以二进制形式编写的文件保存到磁盘上。

14:49:03
printMessage()方法不是Throwable类的方法

14:50:58
①ArithmeticException,算术异常,如整数除法中,如果除数为0,则发生该类异常;
②ArrayIndexOutofBoundsException,数组索引越界异常,当对数组的索引值为负数或大于等于数组大小时抛出。

14:52:33
处理字节流有DataOutputStream类,数据输出流允许应用程序以适当方式将基本Java数据类型写入输出流,
可提供一些对Java基本数据类型写入的方法,写入int、double和boolean等的方法。本题要求将一个整数数组写入到二进制文件中,所以需要调用writeInt()方法

14:53:30
内部类具有如下几个属性:1、类名只能在定义的范围内被使用,内部类的名称必须区别于外部类;
2、内部类可以使用外部类的类变量和实例变量,也可以使用外部类的局部变量;
3、内部类可以定义为abstract类型;
4、内部类可以是一个接口,这个接口必须由另一个内部类来实现;
5、内部类可以被定义为private或protected类型。当一个类中嵌套另一个类时,访问保护并不妨碍内部类使用外部类的成员;
6、被定义为static型的内部类将自动转化为顶层类,它们不能再使用局部范围中或其他内部类中的数据和变量;
7、内部类不能定义static型成员,而只有顶层类才能定义static型成员;
8、内部类可作为其他类的成员,而且可访问它所在类的成员。

14:55:12
AWT有关的所有事件都放置在java.awt.event包中。选项A)
MouseEvent表示鼠标事件;选项B)
WindowEvent表示窗口事件;选项C)
ActionEvent表示动作事件;选项D)
KeyEvent表示键盘事件。

15:05:45
getSize()获得构件的大小;
getForeground()获得构件的前景色;
getBackground()获得构件的背景色;
paint(Graphics g)绘制构件。

15:14:57
共有m个元素,出队20次,入队15次,剩余元素数应该为m-front+rear=m-5,依次循环比较次数为m-5-1=m-6

15:18:02
用无向图表示的网状模型是非线性结构,它可以没有根节点和叶子节点。
树形结构是非线性结构,非空二叉树只有一个根节点,最多有两颗子树(可以有一个或没有),

15:19:14
算法的优劣与算法描述语言有关,与所用计算机无关。

15:23:41
有序表具有两个基本特点:
1.所有元素所占的存储空间是不连续的。
2.各数据元素的存储空间与按逻辑顺序依次存放可以不一致

15:29:55
结点中具有多个指针域的链表称为多重链表

15:32:40
如果一个非空的数据结构满足下列两个条件:
1.有且只有一个根节点;
2.每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。

15:36:32
二分法检索的效率比较高,设线性表有n个元素,则最多的检索次数为大于LOG 2 N 的最小整数,最少的检索次数为1。

16:01:08
线性结构的存储结点也可以有多个指针

16:08:10
非空循环链表所表示的数据结构:有根结点但没有叶子结点

16:12:18
堆排序法属于选择类排序方法。用完全二叉树表示堆时,树中所有非叶子结点值均不小于其左、右子树的根结点值,因此,堆顶(完全二叉树的根结点)元素必为序列的n个元素中的最大项

18:57:53
线程的生命周期主要分为如下几个状态:新建、可运行、运行、阻塞、终止。

19:16:12
static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。

19:33:12
FileOutputStream用于对磁盘文件涉及的数据流进行输出处理,即向一个文件对象中写入数据。

21:05:11
Java中的RandomAccessFile类提供了随机访问文件的功能,

21:06:49
MouseAdapter是接收鼠标事件的抽象适配器类,MyMouse继承MouseAdapter,并对此类中的抽象方法进行重写,因此MyMouse是鼠标事件类

21:08:29
如果发生下面几种情况时,线程就进入阻塞状态:
线程调用了sleep()方法、join()方法时,线程进入阻塞状态;
线程调用wait()方法时,线程由运行状态进入阻塞状态;
如果线程中使用synchronized来请求对象的锁未获得时,进入阻塞状态;
如果线程中有输入输出操作,也将进入阻塞状态,待输入输出操作结束后,线程进入可运行状态。

21:10:55
位运算符包括:>>,<<,>>>,&,︱,^,~。
"!"是布尔逻辑运算符。

21:16:46
本题程序中,Circle类继承Shape类,父类和子类中都只有一个构造方法,
公共类Test中的语句"Shape d=new Circle();",表示父类引用d指向子类对象,
创建对象时则自动调用构造方法,在调用子类构造方法前先调用父类构造方法,
在父类构造方法中执行输出语句输出Shape,然后在子类构造方法中执行输出语句输出Circle。

21:17:59
当子类的成员方法与父类的成员方法名字、参数列表、返回值类型都相同时,子类的方法是父类的方法的重写(Override)。

21:18:39
Object类是Java程序中所有类的直接或间接父类,也是类库中所有类的父类,处在类层次的最高点。所有其他的类都是从Object类派生出来的。

21:24:48
因为任一棵树中,结点总数=总分支数目+1,所以:n0+1+2+3+4=(n00+41+32+23+1*4)+1,则:n0=11,其中,n0表示叶子结点。

21:27:40
列处理中与队列有关的是______操作系统中的作业调度

21:29:00
设二叉树*有31个结点,其中的结点值互不相同。如果该二叉树的后序序列与中序序列相同,则该二叉树的深度为______。
31

21:29:59
数据结构是指反映数据元素之间关系的数据元素集合的表示。更通俗地说,数据结构是指带有结构的数据元素的集合。
所谓结构实际上就是指数据元素之间的前后件关系。线性结构与非线性结构都可以是空的数据结构。
一个空的数据结构究竟是属于线性结构还是属于非线性结构,还要根据具体情况来确定。如果对该数据结构的运算是按线性结构的规则来处理的,则属于线性结构;否则属于非线性结构。

21:36:38
循环链表具有以下两个特点:(1)在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。(2)循环链表中最后一个结点的指针域不是空,而是指向表头结点。即在循环链表中,所有结点的指针构成了一个环状链。
在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点,而线性单链表做不到这一点。

21:37:45
算法的空间复杂度与算法所处理的数据存储空间有关。

21:49:14
集成测试将模块组装成程序通常采用两种方式:非增量方式组装和增量方式组装。
非增量方式也称为一次性组装方式。将测试号的每一个软件单元一次组装在一起再进行整体测试。
增量方式包括自顶向下、自底向上、自顶向下和自底向上相结合的混合增量方法。

21:58:31
在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的______。

21:58:46
将E-R图转换为关系模式时,实体和联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。实体集也可以转换成关系。

22:02:54
数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。
概念级,是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图;
用户级,是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出;
存储级,给出了数据库物理存储结构与物理存取方法。

19:22:15
根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。
一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。则该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构,所以A选项错误。
所以本题答案为A。

19:27:06
排序二叉树的中序遍历序列是有序序列

19:39:28
完全二叉树的结点总数为2n,是偶数。可知该完全二叉树并不是满二叉树,即度为1的结点数为1。
由二叉树的性质3可知,叶子结点n0总是比度为2的结点n2多一个,所以2n=n0+n2+1=n0+(n0-1)+1=2n0,所以叶子节点数为n。

19:41:37
在循环队列中,队头指针和队尾指针的动态变化决定队列的长度

19:44:28
在树中,结点数为树中所有结点的度之和再加1。所以n0+4+1+3=n00+43+21+13+1,可以算出n0=10。

19:46:08
快速排序在最坏情况下需要进行n(n-1)/2次比较。
堆排序在最坏的情况下需要比较nlog2n次,
快速排序在最坏情况下需要比较n(n-1)/2,
顺序查找在最坏的情况下需要比较n次;
在长度为n的顺序表中寻找最大项时,比较次数最少为1,最多为n-1。

19:49:37
对数据进行压缩存储会降低算法的空间复杂度

19:56:41
算法所执行的基本运算次数还与问题的规模有关。

19:58:20
当队头指针与队尾指针相同时,循环队列为满或者为空。

19:59:41
若队头指针与队尾指针相同且不为空时,队列元素个数为1,
若队头指针与队尾指针相同且为空时,队列元素个数为0,
带链栈的栈底指针是随栈的操作而动态变化的。

20:02:18
如果一个非空的数据结构满足下列两个条件:1)有且只有一个根节点;2)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构。
不能确定有多个指针域的链表是线性结构还是非线性结构。

20:02:57
对线性链表中的每个结点设置两个指针,一个称为左指针,用以指向其前件结点;
另一个称为右指针,用以指向其后件结点。这样的线性链表称为双向链表。故双向链表属于线性结构链式存储

20:04:04
线性链表的插入删除运算过程中,对于空表和对第一个结点的处理必须单独考虑,使空表与非空表的运算不统一。为了克服这个缺点,可以采用另一种链接方式,即循环链表。
循环链表有一下两种特点:
(1)增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。
(2)循环链表种最后一个结点的指针域不是空,而是指向表头结点。

20:06:29
循环链表的存储空间是不连续的

20:06:42
冒泡排序中,在互换两个相邻元素时只能消除一个逆序。
快速排序中,一次交换可以消除多个逆序。

20:07:33
如果一个非空的数据结构满足下列两个条件:1)有且只有一个根节点;2)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构

19:24:58
DBS包括DB和DBMS

19:31:31
数据库系统减少了数据冗余,但不能避免一切冗余

19:32:39
数据库管理的三个阶段:人工管理、文件系统、数据库系统。
人工管理阶段, 数据管理主要用于科学计算,硬件无磁盘,直接存取,软件没有操作系统。

19:34:49
关系模式是描述与关系对应的二维表的表结构,即关系中包含哪些属性,属性来自哪些域,以及与域之间的映象关系。

19:35:36
每个属性都已不能再分为简单项,则它属于第一范式模式。
第二范式首先是第一范式,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的属性必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式首先是第二范式,另外非主键属性必须直接依赖于主键,不能存在传递依赖。
本题三个关系模式中,属性均不可再拆分,属于第一范式。每个关系模式中非主键属性完全依赖与主键,该关系为第二范式。关系模式S中"所在系的系主任"依赖于"所在系",“所在系"依赖于主键"学号”,即"所在系的系主任"传递依赖于主键,所以该关系模式不是第三范式。

19:38:58
E-R模型是长期以来被广泛使用的概念模型,是概念设计阶段所输出的图形表示。

19:40:08
外键是本关系表与其他关系表的联系,是另一个关系表的主键。

19:42:00
第二范式包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。消除了第一范式的非主键对主键的部分函数依赖

19:42:27
第三范式非主键列必须直接依赖于主键,不能存在传递依赖。消除了非主键对主键的传递依赖

19:44:18
Applet类提供了生命周期不同阶段响应主要事件的4种方法:
①void init(),在Applet被下载时调用,一般用来完成所有必需的初始化操作。
②void start(),在Applet初始化之后以及Applet被重新访问时调用。
③void stop(),在Applet停止执行时调用。一般发生在Applet所在的Web页被其他页覆盖时调用。
④void destroy(),在关闭浏览器Applet从系统中撤出时调用。stop()总是在此前被调用。

19:49:56
C++程序和JAVA语言都具有可移植性。

19:50:31
Java语言在运行程序时,有严格的访问权限检查。对字节代码执行前要检查,不允许使用指针,可防止对内存的非法入侵,它是目前安全性最佳的语言。
JVM(Java虚拟机)执行程序的过程:①加载.class文件;②管理并分配内存;③执行垃圾收集。

19:51:22
finalize()方法是用来回收"特殊"的内存,释放系统资源。

19:56:32
一元运算符只对一个表达式执行操作,该表达式可以是数值数据类型类别中的任何一种数据类型。
一元运算符有:+、-、++、–、!。

20:01:54
二元运算符有两个操作数,选项A的"++"运算符属于一元运算符。

20:26:15
1、表达式expression只能返回这几种类型的值:int,byte,short和char。
2、case子句中的值value必须是常量,而且所有case子句中的值应是不同的。
3、default子句是任选的。
4、break语句用来在执行完一个case分支后,使程序跳出switch语句的执行。
5、case分支中包含多条语句(即statement为一连串语句序列)时,可以用大括号{}括起

20:27:56
ArithmeticException为算术异常,是RuntimeException的子类。

20:30:13
StringIndexOutOfBoundsException:字符串下标越界异常。
NullPointerException:空指针异常。
ArithmeticExceptioin:算术异常。
lastIndexOf()方法可返回一个指定的字符串值最后出现的位置,如果没有找到则返回-1。
charAt()方法可返回指定位置的字符,此时因为前面返回的是-1,所以字符串下标会产生越界异常。

20:30:53
异常类LinkageError的父类是Error

20:33:00
AWTException表示发生了Absract Window Toolkit异常。AWTException类的父类是Exception类。

20:33:29
AWTError类的父类是Error。

20:34:19
在Java中,任何异常都是Throwable类或其子类对象;Throwable有两个子类,分别是:Error和Exception。
Error:这是系统错误类,是程序运行时Java内部的错误,一般是由硬件或操作系统引起的,开发人员一般无法处理,这类异常发生时,只能关闭程序。
Exception:这是异常类,该类及其子类对象表示的错误一般是由算法考虑不周或编码时疏忽所致,需要开发人员处理。

20:36:05
类Throwable实现了接口Serializable

20:36:57
Object是所有类的根。
Java通过关键字extends继承一个父类。
继承是一种联结类的层次模型,允许类的重用。
继承允许子类直接获取父类的属性和方法,从而实现对父类的复用。

20:37:33
封装的优点如下:
①提高可重用性;
②类内部的结构可以*修改;
③对成员变量进行更精确的控制;
④隐藏信息。

20:38:14
在Java中,通过关键字extends只能继承一个父类,通过关键字implement可实现多接口

20:42:25
在Java语言中,对象是类的一个实例,有属性和行为。

20:45:47
File类:使用Java进行操作文件,通过一些方法进行操作。
比如创建文件,删除文件,判断是否存在,文件大小,文件的目录等等,还有文件夹的一些操作

2021/9/10 19:38:19
在最坏情况下,简单插入排序需要n(n-1)/2次比较,长度为16时,比较次数为120

2021/9/10 19:48:38
循环队列是线性结构

2021/9/10 19:51:25
本题考查点的知识点是循环链表。
循环链表和线性单链表相比主要有以下两个方面的优点:
(1)在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。而线性单链表做不到这一点。
(2)由于在循环链表中设置了一个表头结点,因此,在任何情况下循环链表中至少有一个结点存在,从而使空表和非空表的运算统一。

0:04:42

0:15:49
根据数据结构中数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。
如果一个非空的数据结构满足下列两个条件:
①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,线性结构又称线性表。
循环队列是队列的一种存储结构,属于线性结构。

0:16:34
冒泡排序、快速排序、简单选择排序的最坏时间复杂度是O(n^2)。
希尔排序的时间复杂度与增量序列的选取有关,最坏情况下比其他三项排序更快。

0:21:17
数据的处理效率与数据的存储结构有关

0:24:45
在数据元素的序列中,对于某个元素,如果其后存在一个元素小于它,则称之为存在一个逆序。
冒泡排序只交换相邻元素,但不是每次移动都产生新的逆序。
简单插入排序每一次比较后最多移掉一个逆序。
快速排序每一次交换移动都会产生新的逆序,因为当不会有新的逆序产生时,本轮比较结束。
简单选择排序的基本思想是先从所有n个待排序的数据元素中选择最小的元素,将该元素与第一个元素交换,再从剩下的n-1个元素中选出最小的元素与第2个元素交换,这样做不会产生逆序。

0:27:23
本题的考查知识点是关系数据库。
关系数据库的基本特征是:
1、数据的结构化,数据库中的数据并不是杂乱无章、毫不相干的,它们具有一定的组织结构,属于同一集合的数据具有相似的特征。
2、数据的共享性,在一个单位的各个部门之间,存在着大量的重复信息。使用数据库的目的就是要统一管理这些信息,减少冗余度,使各个部门共同享有相同的数据。
3、数据的独立性,数据的独立性是指数据记录和数据管理软件之间的独立。数据及其结构应具有独立性,而不应该去改变应用程序。
4、数据的完整性,数据的完整性是指保证数据库中数据的正确性。可能造成数据不正确的原因很多,数据库管理系统通过对数据性质进行检查而管理它们。
5、数据的灵活性,数据库管理系统不是把数据简单堆积,它在记录数据信息的基础上具有很多的管理功能,如输入、输出、查询、编辑修改等。
6、数据的安全性,根据用户的职责,不同级别的人对数据库具有不同的权限,数据库管理系统应该确保数据的安全性。

0:32:21
每个属性都已不能再分为简单项,则它属于第一范式模式。
部门成员可以进行拆分,比如部门成员编号,部门成员名称,不满足第一范式。

0:33:56
数据不一致性是指数据的矛盾性、不相容性。
产生数据不一致的原因主要有以下三种:
一是由于数据冗余造成的;
二是由于并发控制不当造成的;
三是由于各种故障、错误造成的。
根本原因:数据冗余

0:35:48
数据库的逻辑设计主要工作是将E-R图转换成指定RDBMS中的关系模式。所以关系模式设计属于逻辑设计。

0:32:21
每个属性都已不能再分为简单项,则它属于第一范式模式。
部门成员可以进行拆分,比如部门成员编号,部门成员名称,不满足第一范式。

0:33:56
数据不一致性是指数据的矛盾性、不相容性。
产生数据不一致的原因主要有以下三种:
一是由于数据冗余造成的;
二是由于并发控制不当造成的;
三是由于各种故障、错误造成的。
根本原因:数据冗余

0:35:48
数据库的逻辑设计主要工作是将E-R图转换成指定RDBMS中的关系模式。所以关系模式设计属于逻辑设计。

16:18:08
对于长度为n的有序线性表,在最坏情况下,
二分查找的时间复杂度为O(log2n);
顺序查找的时间复杂度为O(n);
寻找最大项的时间复杂度为O(n-1);
堆排序的时间复杂度为O(nlog2n)。

2021/9/11 18:29:36
程序流程图(PFD)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。

2021/9/11 18:30:45
动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。
白盒测试的主要方法有逻辑覆盖测试、基本路径测试等。
基本路径测试的思想和步骤是,根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试。

2021/9/11 18:31:23
数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。

2021/9/11 18:32:40
黑盒测试方法也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。
黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。所以B选项正确。

2021/9/11 18:33:43
单元测试主要针对模块的下列5个基本特性进行:
1、模块的接口测试
2、局部数据结构测试
3、重要的执行路径的检查
4、出错处理测试
5、影响以上各点及其他相关点的边界条件测试。

2021/9/11 18:35:32
软件测试的目的是发现程序中的错误

2021/9/11 18:36:22
详细设计的任务,是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。

2021/9/11 18:38:41
软件测试的对象包括:源程序、目标程序、数据及相关文档

2021/9/11 18:40:08
数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。

2021/9/11 18:40:51
软件设计中,常用的过程设计工具有:①图形工具:程序流程图、N-S图、PAD图、HIPO图;②表格工具:判定表;③语言工具:PDL(伪码)。

2021/9/11 18:41:28
确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确。

2021/9/11 18:42:18
集成测试是测试和组装软件的过程。它是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现与接口有关的错误。集成测试的依据是概要设计说明书

2021/9/11 18:42:33
集成测试是为了发现概要设计的错误

2021/9/11 18:43:16
大量的软件设计的实践证明,以下的设计准则可以借鉴为设计的指导和对软件结构图进行优化。这些准则是:
①提高模块独立性;
②模块规模适中;
③深度、宽度、扇入和扇出适当;
④使模块的作用域在该模块的控制域内;
⑤应减少模块的接口和界面的复杂性;
⑥设计成单入口、单出口的模块。
⑦设计功能可预测的模块。

2021/9/11 18:44:03
软件设计工具包括:程序流程图、N-S、PAD、HIPO,判定表,PDL(伪码)。而DFD(数据流图)属于结构化方法的需求分析工具。

2021/9/11 18:45:07
黑盒测试方法也称为功能测试或数据驱动测试。
黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。
黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明

2021/9/11 18:49:19
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。

2021/9/11 18:50:56
数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。

2021/9/11 18:56:01
姓名Sn只依赖于S#,不依赖于课程号C#,所以对主属性部分依赖。

2021/9/11 18:56:49
关系模型采用二维表来表示,简称表。
在表框架中按行可以存放数据,每行数据称为元组,二维表中的元组均不相同。

2021/9/11 18:58:16
把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统(DBMS)支持的数据模型,而是概念级的模型,称为概念模型。所以C选项正确。

2021/9/11 18:58:37
概念模型是:
用于现实世界的建模,与具体的DBMS无关

2021/9/11 19:03:19
数据库的三级模式结构包括:
概念模式、内模式、外模式。
概念模式,是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图;
外模式也称为子模式或用户模式。它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出;
内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。

2021/9/11 19:05:53
物理数据模型又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示

2021/9/11 19:07:23
逻辑数据模型也称为数据模型,它是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。
概念数据模型是一种面向客观世界、面向用户的模型,着重于对客观世界复杂事物的结构描述及它们之间的内在联系的刻画。
物理数据模型又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。

2021/9/13 19:21:18
CheckedOutputStream:需要维护写入数据校验和的输出流,校验和可用于验证输出数据的完整性。
BufferedOutputStream:实现缓冲的输出流。
DataOutputStream:数据输出流运行应用程序以适当方式将基本java数据类型写入输出流中,然后应用程序可以使用数据输入流将数据读入。
DeflaterOutputStream:使用"deflate"压缩格式压缩数据实现输出流过滤器。它还用作其他类型的压缩过滤器(如GZIPOutputStream)的基础

2021/9/13 19:22:13
file.delete()删除文件,删除的是创建File对象时指定与之关联创建的那个文件。
file.deleteOnExit();在JVM进程退出的时候删除文件,通常用在临时文件的删除。

2021/9/13 19:27:34
read():从输入流读取一定数量的字节并将其存储在缓冲区数组中。
write():将字节从指定的数组写入输出流。
toString():返回字符串。

2021/9/13 19:28:05
在管道的通信过程中发送进程和接收进程要进行必要的同步与互斥所以进程可能由于等待而产生死锁。

2021/9/13 19:30:20
在管道的通信过程中发送进程和接收进程要进行必要的同步与互斥所以进程可能由于等待而产生死锁。

2021/9/13 19:34:28
Reader是用于读取字符流的抽象类。
直接已知子类有:BufferedReader、CharArrayReader、FilterReader、InputStreamReader、PipeReader、StringReader

2021/9/13 19:40:05
ASCII是用8位表示一个字符。
unicode是用16位表示一个字符,因此unicode中汉字和英文字母占用的空间是一样的。

2021/9/13 19:41:04
Java提供FileInputStream是将文件作为流的方式读取,它是按照文件的顺序从0位置开始进行读取,
RandomAccessFile是随机读取数据,读取的位置不一定是从0开始,可以使用skip(n)方法来跳过n个字符,通过readByte()读取一个字符,通过read()可以读取输入流中的一个字符。

2021/9/13 19:42:09
过滤流:就是为了程序更方便的读取或写入对字节流或字符流进行包装,不存在对数据的筛选,
2021/9/13 19:42:44
PipedInputStream是实现线程之间通信的一个类。
ByteArrayInputStream以字节数组为输入流。
FilterInputStream过滤器输入流本身也是一个抽象类。

2021/9/13 19:45:10
线程是进程的组成部分,一个进程可以拥有多个线程,而一个线程必须拥有一个进程。

2021/9/13 19:48:50
Java中线程模型包含三部分,
①一个虚拟的CPU;
②该CPU执行的代码;
③代码所操作的数据。

2021/9/13 19:58:26
用"synchronized"关键字保护的数据也必须是私有的,使线程不能直接访问这些数据,必须通过对象的方法。

2021/9/13 20:04:14
(1)当synchronized()语句块执行完后。
(2)当在synchronized()语句块中出现例外(exception)。
(3)当持有锁的线程调用该对象的wait()方法。此时该线程将释放对象的锁,而被放入对象的wait pool中,等待某事件的发生。
而suspend()方法只是基本线程控制方法,在一个线程中调用t.suspend(),将使t暂停执行,要想恢复线程,必须由其他线程调用t.resume()恢复t的执行。

2021/9/13 20:05:06
将一个程序转换成为多个独立运行的子任务,每个子任务就是一个线程。
线程是程序的一个执行流,它是一个以CPU为主体的行为。
在Java中,线程的模型就是一个CPU、程序代码和数据的封装体。

2021/9/13 20:07:01
sleep方法的作用是让当前线程处于休眠状态,并持续一定的时间,该时间的长短由sleep()方法的参数决定。sleep()方法结束后,线将进入可运行状态。

2021/9/13 20:08:54
HashMap使用<关键字,值>的形式保存数据。

2021/9/13 20:09:32
HashMap是基于哈希表的map接口的实现,实现提供所有可选的映射操作。
使用<关键字,值>的形式保存数据,并允许使用null值和null键。此类不保证映射顺序,特别是它不保证该顺序永恒不变,只有TreeMap才能保证数据的顺序

2021/9/13 20:09:59
add是实现list接口重写的方法,返回值为boolean。
addelement是vector类中的特有方法,返回值是void。

2021/9/13 20:10:25
toArray():返回一个数组,包含所有元素。

2021/9/13 20:11:16
HashSet实现Set接口,不存储相同的数据。
add()方法如果此set中尚未包含指定元素,则添加指定元素;
size()方法返回此set中的元素的数量(set的容量),所以最后元素的个数是2。

2021/9/13 20:11:55
HashMap基实现提供所有可选的映射操作,并允许使用null值和null键。HashMap中的键值是唯一的,如果键值已存在,就用新值替换旧值。
put()方法在映射中关联指定值和指定键;
size()方法返回映射中的键-值映射关系数。

2021/9/13 20:13:28
reverse():反转指定列表中元素的顺序。
本程序中定义了变量lis,并向其添加了四个元素,在for()循环中将反转后的列表Lis依次输出。

2021/9/13 20:14:46
Collections.min():根据元素的自然顺序返回给定集合的最小元素。
本程序中定义了变量set,并依次添加了3、111、22三个元素。在for()循环中依次输出添加的元素,在程序的结尾要求输出这三个元素中的最小元素。

2021/9/13 20:17:39
List组件为用户提供了一个可滚动的文本项列表。
remove():从此滚动列表中移除指定位置处的项。如果选中了指定位置的项,并且该项是列表中惟一选中的项,则列表将被设置为无选择。
for循环执行时,首先执行初始化操作,然后判断循环条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断循环条件,直到不满足循环条件,则循环结束。

对象的基本特点有:标识唯一性,抽象性,继承性,多态性,封装性和模块独立性。

java目录被看作文件;

objectoutputstream = new objectoutputstream(new fileoutputstream());

非完全二叉树不能用顺序存储结构

lib:库文件;bin:编译器和解释器

浏览器重新返回到含有applet的页面是调用的是start()方法

main方法里面的句子无法访问到外部定义的变量

循环队列为空的条件并不是:队头指针等于队尾指针

具有两个以上的指针域的链式结构不一定就是非线性结构

线性结构的链式存储:双向链表

objectoutput-------------》writeobject
objectinput---------------》readobject

只有一个根节点和只有一个叶子节点未必就是线性结构

编译软件属于系统软件

HTML文件中标志可以作为可选择的属性的是:applet主类路径

软件过程就是吧输入转换为输出的一组彼此相关的资源活动

抽象方法没有方法体

上一篇:AtCoder Beginner Contest 230


下一篇:Java模拟试题刷题日记,20201210