计算机二级Java易错基础

2019-12-04  本文已影响0人  百合_b06b

一,数据结构与算法

1,操作系统中作业调度与队列有关。操作系统的调度是按先进先出的原则操作的。

2,数据结构中的数据元素可以是另一数据结构。

3,空数据结构可以是线性结构也可以是非线性结构,且非空数据结构可以没有结点。

4,树:

        ##二叉树是一种非线性结构,二叉树的链式存储结构称为二叉链表

        ##任何一棵树中,结点总数=总分支数+1

        ##任何一棵二叉树,度为0的结点(叶子结点)总是比度为2的结点多一个。

        ##在深度为m的满二叉树中有 2^m -1个结点;

        ##一棵非空二叉树的第k层上最多有 2^(k-1) 个结点;

        ##树形结构表示实体之间联系是 层次模型

5,数据独立性是数据与程序间的互不依赖,即数据库中数据独立于应用程序而不依赖与应用程序;数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。

6,建立一个关系,首先要指定关系的属性,

7,n个顶点的强连通图的边数至少有n条;

8,算法分析的目的是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。

9,数据模型3个内容:数据结构、数据操作、数据约束。

10,循环队列初始状态为front=real,说明队列为满或空。

11,最坏情况下时间复杂度(即比较次数)低于O(n2)的是  堆排序,其时间复杂度为O(nlogn);

12,循环队列 是指 允许在一端进行插入、而在另一端进行删除的线性表,语序插入的一端称为队尾,允许删除的一端称为队头。按 先进先出、先来先服务 的原则。

13,并不是所有数据结构都可以采用顺序存储。

14,二分法查找检索次数:O(log2n);

    冒泡排序:O(n2);

    简单插入法:n(n-1)/2;

    快速排序:O(n2);

    堆排序法:O(nlogn);

15,在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数相同,元素的存储顺序与逻辑顺序一致

16,

二,程序设计基础

1,

2,

三,软件工程基础

1,结构化分析常用的工具有:数据流图(DFD)、数据字典(DD)、判定树、判定表。

    软件开发阶段包括:需求分析、总体设计、详细设计、编码和测试。

    需求分析:数据字典、数据流图(DFD);

    概要设计使用的工具:系统结构图;

    详细设计使用的工具:程序流程图、N-S图、PAD、HIPO;

    软件设计工具包括概要设计阶段和详细设计阶段,

    常见的需求分析方法有:结构化分析方法和面向对象的分析方法。

2,软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

3,黑盒测试:等价类划分法、边界值分析法、错误推测法

白盒测试:逻辑覆盖

4,软件工程3要素:方法、工具、过程。

5,程序流程图(PFD)中的箭头代表 控制流。

6,结构化程序设计方法主要原则:自顶向下、逐步求精、模块化。

软件设计原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性、可靠性

面向对象设计方法主要特征是继承。

7,概要设计:确定软件的总体结构,子系统和模块的划分,并确定模块间的接口和评价模块划分质量,以及进行数据分析。

详细设计:确定每一模块的定义,包括数据结构、算法和接口。

8,确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明书中的各种需求,以及软件配置是否完全、正确。

四,数据库基础

1,在商品购物中,实体顾客和实体商品之间的联系是 多对多

2,内模式又称物理模式,它是数据库中全体数据的内部表示或底层描述,它是唯一的,而建立在数据库系统之上的应用则是非常广泛的、多样的,因此外模式不是唯一的,也不可能是唯一的

数据库系统三级模式结构由外模式、模式、内模式组成:

        ##外模式:子模式或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。

        ##模式:或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到数据视图的总和。外模式是模式的一部分。

        ##内模式:存储模式或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。

3,数据库设计的6个阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段、数据库运行和维护阶段。

4,数据库物理设计的主要目标是对数据库内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。物理设计的内容有 索引设计、集簇设计和分区设计等。

5,分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性;其数据也是分布的

6,数据库是存储在计算机存储设备中的、结构化的相关数据的集合。数据库中的数据不只是面向某一项特定的应用,而是面向多种应用,可以被多个用户、多个程序共享,不具有独立的系统。设计数据库的目的实质上是设计出满意实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量地数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减少数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。

7,在数据库系统中,物理结构并不一定与逻辑结构一致。

8,数据库语言:

        ##数据定义语言(DDL):数据库的定义与数据的物理存取构建。

        ##数据操纵语言(DML):数据的操纵,包括查询及增删改查等操作。

        ##数据控制语言(DCL):数据库完整性、安全性的定义与检查及并发控制、故障恢复等功能。

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

10,

计算机二级Java

一,基础

1,switch语句中的表达式只能返回 int、byte、short、char类型的值。

2,字节流:以byte为基本单位的流,以InputStream和OutputStream为父类;

字符流:以字符为基本处理单位的流,以Reader(字符输入流)和writer(字符输出流)为父类(抽象类)。

3,java的内存管理是指对象的分配和释放问题,Java虚拟机运行代码时,不会进行编译代码。运行JVM字节码的工作是由解析器来完成的。解释执行过程:代码的加载、代码校验、解释执行

        ## javac:Java编译器

        ## java:Java解释器

        ## jdb:Java调试器

        ## javap:反编译

        ## javah:生成C头文件和Stub文件

        ## javadoc文档生成器

        ## javaprof:Java解释器的剖析工具

        ## appletviwer:applet解释器

4,Java语言使用的字符码集是Unicode,用16位表示一个字符。Java的基本数据类型int在不同的操作系统平台的字长是32位

5,final关键字修饰:

        ## 数据:常量;

        ## 方法:不可覆盖的方法;

        ## 类:不可继承的类。

6,覆盖是指子类与父类的方法具有相同的名称,返回值类型和参数,但功能不同。

7,重载指多个方法具有相同的名称,但参数不同或参数的个数不同、参数的类型不同,返回值可以相同也可以不相同。

8,Serializable接口中没有定义抽象方法,也没有定义常量,(没有方法和属性),该接口用来处理对象流;Serializable会为每个类生成一个序列号,生成的依据是类名、类实现的接口名、public和protected方法。

9,不允许使用指针体现的Java特性是安全性,相对于C/C++等运行使用指针的语言,Java防止了因为指针造成的程序在稳定性和安全性上的漏洞,如对内存的非法入侵。

10,Java为嵌入式和移动设备提供的平台是 J2ME 平台,它的体系结构由 Profiles、Configuration和Optional  Packges组成。

11,static修饰的成员变量和成员方法独立于该类的任何对象。即不依赖特定的实例,被类的所有实例共享。

12,String类方法:

        ##  toLowerCase():将字符串中所有字符变成小写。

        ##  valueof():返回指定对象的原始值,

        ## charAt():提取字符串中制定的字符;

11,方法与成员变量共同构成一个类。

12,构造方法主要是初始化对象的成员变量,没有返回类型,即没有返回值。

13,面向对象技术的基本特征:抽象性、封装性、继承性和多态性

面向对象方法中最基本的概念是对象,它的基本特点有:标识唯一性、多态性、封装性和模块独立性好。

14,API文档的内容包括:类层次、类及用途描述、成员变量列表、构造方法列表、成员方法列表、从类层次上继承的方法列表、成员变量的详细说明、构造方法详细说明、成员方法详细说明。

15,对象间的通信靠消息传递,对象使由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事务彼此之间的联系。

16,Java位运算:》、《、>>>、&、|、^、~。

》:算术右移操作符

17,Java语言有多种实现机制,内存跟踪  技术属于垃圾回收机制。

18,关于被私有访问控制修饰符private修饰的成员变量,只能被该类自身所访问和修改。

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

20,任何一个对象只有它所对应的类实现了Serializable接口时,才是可串行化的。

21,计算机中的流是  流动的数据缓冲区 。

22,用static 修饰的方法可使用类名直接调用。

23,Java的修饰符包括:public、private、protected、friendly、final

public变量可以被所有的外部类访问,而protected可被同一包及该类的子类访问,default即没有任何修饰符的变量可以被同一个包中的类访问,private变量只能在该类内部被访问;

24,对程序语言而言,编写程序时出现错误是不可避免的,一般有编译错和运行错两类。Java语言认为那些可预料和不可预料的编译和运行时的出错称为异常。在Java语言中,把异常也作为一直对象,它在程序运行出错时被创建,异常控制是Java语言处理程序出错的有效机制。

自定义异常的父类是  Exception

25,String、StringBuffer都是final类,都不能被继承。

26,static boolean matches()用于对输入字符串与模式串的比较;

Boolean matcher.find()用来查找下一个模式匹配串;

Int matcher.start()用来返回匹配串的一个起始索引整数值;

Int mathcer.end()返回匹配串的终止索引整数值。

27,接口不包含成员变量和方法实现的抽象类,它只包含常量和方法的定义;接口的主要功能:

        ## 不管类的层次,可实现互不相关的类,具有相同的行为(与类的层次无关);

        ## 通过接口说明多个类所需要实现的方法。

        ## 通过接口可以了解对象的相互界面,无需了解对象所对应的类。

接口与存储空间无关。

28,char:无符号16位二进制表示,0~216 -1;

29,float类型 语句 float f=0.0;编译时发生错误。

30,Java语言中,原始数据类型变量是按值传递的,引用类型变量是按地址传递的。

31,

二、线程

1,线程的声明周期:新建状态、可运行状态、运行状态、阻塞状态和终止状态。

如果线程正处于运行状态,则下一个状态可以是:可运行状态、阻塞状态、终止状态。

2,Java语言中,负责并发管理的机制是 多线程

3,生命周期:

        ## start():新建的线程不会自动运行,必须调用线程的start()方法,此时线程处于运行就绪状态。

        ## resume():在一个线程被暂停执行后,恢复该线程;

        ## init():初始化方法;

        ## run():Java中的线程体是由线程类的run()方法定义,在该方法中定义线程的具体行为,线程开始时,也是从run()方法开始执行的。

4,synchronized关键字可用在检测和获得对象锁,并设定临界区。为了防止对共享数据的访问发生错误,应该将访问共享数据的代码使用synchronized关键字设置成临界区,且其保护的共享数据必须是私有的(private)。

5,Java中线程模型包含3部分:

        ## 一个虚拟的CPU;

        ## 该CPU执行的代码;

        ## 代码所操纵的数据;

6,线程方法:

        ## sleep():休眠

        ## stop():当线程完成运行并结束后,将不再运行。

        ## yield():暂停当前线程的执行,从而允许与它具有相同优先级的线程执行,如果不存在可执行且与它同优先级的线程,则继续执行当前线程。

        ## wait():等待并暂时释放共享数据对象的锁。

        ## join():使当前的线程等待,直到该线程结束。

        ## notify():

7,一个进程可以包含多个进程。

8,Java中没有检测与避免死锁的专门机制,因此完全由程序进行控制,防止死锁的发生。

9,对象锁在如下几种情况下可返还持有的对象锁

        ## 当synchronized()语句块执行完成后;

        ## 当在synchronized()语句块中出现例外(exception);

        ## 当持有锁的线程调用该对象的wait()方法。此时该线程将释放对象的锁,而被放入对象的wait pool中,等待某事件的发生。

10,线程的优先级在创建线程后的任何时候都可以设置。

11,

三,文件

1,FileInputStream和FileOutStream是在文件系统上进行操作的输入输出流,所以能够以文件做为直接参数的类

2,RandomAccessFile类提供了随机访问文件的功能,直接继承了java.lang.Object类,同时实现了DataInput和DataOutput接口。

3,文件类File是java.io包中的一个重要的非流类。File以一种系统无关的方式表示一个文件对象的属性。通过类File所提供的方法,可得到文件或目录的描述,也可生成新文件、目录、修改文件和目录、查询文件属性,重命名文件或删除文件。但不能存储文件。

4,ByteArrayOutStream,字节数组输出流,将一个字节数组作为输出流。是OutputStream的子类,可以直接访问内存

ObjectOutStream既继承了OutputStream接口,又实现了ObjectOutput接口,这是Java用接口技术代替双重继承例子,其构造方法参数是串行化了对象。

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

BufferedOutputStream 缓冲区优化了字节数据传送。

DataOutputStream 进行字节输出的基本数据类型判断。

5,void seek(long pos)方法用于查找随机文件的记录。

6、File类用于创建目录的方法是mkdir(),用于创建父目录的方法是mkdirs()。

7,当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象以FileInputStream对象为参数。

8,skip(n):读取文件跳过n个字符,从第n+1个字符开始。

9,

四,GUI图形用户界面

1,getContentPane()获得JFrame的内容面板;

setText()在文本域中以文本形式输出字符串;

JColorChooser 颜色选择器;

showConfirmDialog()显示

2,MouseAdaptr是接收鼠标事件的抽象适配器类,

ActionEvent指示发生了组件定义的动作的语义事件:按钮点击、菜单选择、选择列表项、在文本域中键入enter

3,Swing构件不能直接添加到顶层容器,它必须添加到一个与Swing顶层容器相关联的内容面板上。Swing的按钮和标签可显示图标和文本,而AWT的按钮和标签只能显示文本

4,Swing Applet的内容面板的默认布局管理器是BorderLayout;JApplet的内容面板的默认布局管理器是BorderLayout;Applet的默认布局管理器是FlowLayout;

5,FlowLayout是Applet、Panel、JPanel的缺省布局管理器;

BorderLayout是Window、Frame、Dialog的默认布局管理器;

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

7,事件适配器类包括:

        ## CompnentAdapter,构件适配器

        ## ContainerAdapter,容器适配器

        ## FocusAdapter,焦点适配器

        ## KeyAdapter,键盘适配器

        ## MouseMotionAdapter,鼠标运动适配器

        ## MouseAdapter,鼠标适配器

        ## WindowAdapter,窗口适配器

8,

五,Applet

1,当一个Applet所在的web页面被其他页面覆盖后,Applet类提供了生命周期不同阶段响应主要事件的方法:

        ## Void  init():在Applet被下载时调用,一般用来完成所有必需的初始化操作。

        ## Void start():在Applet初始化之后以及Applet被重新访问时调用。

        ## Void stop():在Applet停止执行时调用。一般发生在Applet所在的web页被其他页覆盖时调用。

        ## Void destroy():在关闭浏览器Applet从系统中撤出时调用。stop()总是在此之前被调用。

2,Applet显示的相关方法:paint()显示输出、update()更新、repaint()重新显示。

3、传递参数:

<applet code="CheckerApplet.class" width="480" height="320">

<param name=color value="blue">

<param name=squaresize value="30">

</applet>

4,Applet要求在支持Java的浏览器上运行,可以不包含main()方法,可以用javac命令进行编译。

5,Applet安全机制:

        ## Applet不能运行任何本地可运作程序;

        ## 禁止加载本地库或方法,Applet只能使用自身的代码或Applet浏览器提供的Java API;

        ## 禁止读、写本地计算机的文件系统。

        ## 禁止向提供Applet之外的任何主机建立网络连接。

6,Applet与Application的主要区别在执行方式上;

运行方式不同、程序结构不同、运行工具不同,受到的限制也不同。

7,每一个Java Application程序必须有且只能有一个main方法;且运行后,在系统中是作为一个 独立的 进程 参与系统调度,但在该进程中可以通过创建Thread类的实例方法来创建多个线程,在一个进程中的各个线程之间拥有共同的上下文环境。

上一篇下一篇

猜你喜欢

热点阅读