二级java复习资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二级java复习资料
Applet与GUI
1.BorderLayout是Window、Frame、Japplet和Dialog的默认布局管
理器;FlowLayout是Applet和panel的默认布局管理器。

Japplet 是applet的子类。

2.JTable(Object[][] rowData, Object[] columnNames) :
构造一个JTable 来显示二维数组rowData 中的值,其列名称为columnNames。

3.***Listener为接口***Adapter为抽象适配器。

4.URLgetDocumentBase()返回包含Applet的HTML文件的URL。

5.URLgetCodeBase()返回Applet主类的URL。

6.AbstractTableModel用于生成表格。

7.视口ViewPort类的对象是一种特殊的对象,主要用于查看构件,
滚动条就是跟踪移动视口,并同时在容器中显示其查看的内容的。

JScrollPane是从JVeiwport对象实现。

8.AppletContext类是一个接口类,Applet通过AppletContext接口与
环境进行通信。

可以利用这个类从Applet环境获取信息,而这个环境一般是指浏览器。

Applet使用AppletContext类的showDocument()方法可以通知浏览器在指定窗口中显示另一个URL的内容。

9.构件事件:
1)MouseEvent事件是鼠标事件:包括鼠标单击、移动。

2)WindowEvent事件是窗口事件:包括关闭窗口,窗口闭合,图
标化。

3)ActionEvent事件是动作事件:包括按钮按下,TextField按<enter>
键。

4)KeyEvent事件是键盘事件,包括键按下、释放。

10.每个Java小应用程序都必须是Applet类或JApplet类的子类。

11.Java中的事件类是继承自java.util.Event类,java.awt.AWTEvent
是java.util.Event的子类。

12.当一个Applet下载到本地系统时,将发生以下操作:
1)产生一个Applet主类的实例;
2)对Applet自身进行初始化;
3)启动Applet运行,将Applet完全显示出来。

13.许多浏览器为了保护本地主机,对Applet作了如下安全限制:
1)Applet不能运行任何本地可运行程序;
2)禁止加载本地库或方法;
3)禁止读、写本地电脑的文件系统;
4)禁止向提供Applet之外的任何主机建立网络连接;
5)不能读取某些系统信息,除了Java版本号、操作系统名或版
本号、文件分隔符、路径分隔符以及行分隔符之外,Applet不
能获得与本地电脑有关的任何信息,如:用户名、电子邮件地
址等;
6)由一个Applet弹出的窗口外观上与一个Application弹出的窗
口不同,Applet弹出的窗口中将会有警告提示信息,以帮助用
户区分Applet窗口与可信的Application窗口。

14.Applet可以与同一个页面中的Applet进行通信。

15.WindowListener是一个接口,WindowAdapter是实现了这个接口
的抽象类,可以对窗口事件进行监听。

16.事件监听器:
1)FocusEvent焦点事件——焦点的获得和丧失,这类事件所对应
的事件监听器是FocusListener;
2)ActionEvent动作事件——按钮按下、TextField中按键,这类事
件所对应的事件监听器是ActionListener接口;
3)MouseEvent鼠标事件——鼠标单击、释放、拖动、移动,这
类事件所对应的事件监听器是MousetMotionListener。

4)ActionListener可以对TextField事件注行注册和监听。

17.java.awt.event包中定义的事件适配器包括以下几个:
1)ComponentAdapter:构件适配器
2)ContainerAdapter:容器适配器
3)FocusAdapter:焦点适配器
4)KeyAdapter:键盘适配器
5)MouseAdapter:鼠标适配器
6)MouseMotionAdapter:鼠标运动适配器
7)WindowAdapter:窗口适配器
8)注:以上适配器都为抽象类。

MouseAdapter 类包含了
MouseMotionAdapter的方法,比MouseMotionAdapter功能更
强大。

18.按钮是一个常用构件。

1)Swing的按钮〔JButton〕和标签可显示图标和文本
2)AWT的按钮〔Button〕和标签只能显示文本在构件方面,
3)Swing构件不能直接添加到顶层容器中,它必须添加到一个与
Swing顶层容器相关联的内容面板上,然而awt构件能直接添
加到顶层容器中。

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

20.start()方法使得程序从初始态进入运行态,当浏览器从图标状态恢
复为窗口时,或者当用户离开包含Applet的主页后又再返回时,系统都会自动再执行一遍start()方法。

21.stop()方法是和start()方法相对应的,当浏览器变成图标或者是用
户离开Applet所在页面时,浏览器都会调用stop()方法,该方法也是可以被多次调用的。

22.Applet是能够嵌入到HTML页面中,并能够在浏览器中运行的Java
类,本身并不一定需要首先创建窗体,但可以使用JApple类来使用Swing构件。

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

24.Applet显示相关的3个方法:
1)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的更新。

25.在Applet装载时,由浏览器或appletviewer调用init()方法,通知
该Applet已被加载到浏览器中,使Applet执行一些基本初始化。

26.Swing构件分类〔从功能上〕:
1)顶层容器,JFrame、JApplet、JDialog和JWindow共4个。

2)中间容器,JPanel、JScrollPane、JSplitPane、JToolBar。

3)特殊容器,在GUI上起特殊作用的中间层,如JInternalFrame、
JLayeredPane、JRootPane。

4)基本控件,实现人机交互的构件,如Jbutton、JComboBox、JList、
JMenu、JSlider、JtextField。

5)不可编辑信息的显示,向用户显示不可编辑信息的构件,例如
JLabel、JProgressBar、ToolTip。

6)可编辑信息的显示,向用户显示能被编辑的格式化信息的构件,
如JColorChooser、JFileChooser、JFileChooser、JTable、JTextArea。

27.java.awt.Color:基本颜色定义
28.java.awt.Font:基本字体定义
29.java.awt.Cursor:光标操作定义
30.Panel组件是容器,可以添加到Frame窗口
31.CheckBox组件是复选框组件,可以添加到Frame窗口
32.Dialog继承自Window,Windows类型(或子类)的对象不能包含在
其他容器中
33.Choice组件是选择框组件,可以添加到Frame窗口。

34.Swing各个组件:
1)选项板(JTabbedPane)提供-组可供用户选择的带有标签或图
标的选项,每个选项下面都可以显示一个构件。

2)Swing提供两种分层面板:JLayeredPane和]DesktopPane。

JDesktopPane是JLayeredPane的子类,专门为容纳内部框架
(JInternalFrame)而设计;
3)滚动窗口(JScroll—Pane)是带滚动条的面板,主要是通过移动
JViewport(视口)来实现的;
4)分隔板(JSplitPane)用于分隔两个构件,这两个构件可以按照水
平方向分隔,也可以按照垂直方向分隔。

JAVA
1.Java语言使用的是Unicode字符集。

而ASCIl是国际上使用最广泛
的字符编码;BCD是一种数字压缩存储编码方法。

2.内部类与外部类的类名不能相同。

3.自定义异常都是Throwable及其之类。

4.一个java application 运行后,在系统中是作为一个进程。

5.进程由代码、数据、内核状态和一组寄存器组成。

线程由程序计
数器、栈指针以及堆栈组成。

进程是一个内核级的实体,线程是一个用户级的实体。

6.Java中的线程模型由三部分组成,1、一个虚拟的CPU 2、CPU
执行的代码1、代码操作的程序。

7.Char c=str.charAt(i)----->获取字符串str中的第i个字符。

8.在Java中,常量null、false、true都是小写的。

9.有抽象方法的类只能被定义为抽象类,抽象类里面可以不包含抽
象方法,子类一定要覆写接口和父类的所有抽象方法。

10.字符型可以转为int型,但字符串不可以。

11.Java、C++是面向对象设计的语言,而C是面向过程设计的语言。

12.Math函数:
1)Math.sqrt函数计算一个数的平方根。

2)Math.radom()输出[0,1)之间的随机数。

13.Java本身的编译器用Java语言编写,运行系统的虚拟机用C语言
实现。

Java语言的执行模式是半编译和半解释型,程序首先由编译器转换为标准字节代码,然后由Java虚拟机去解释执行,字节代码实际上可以看作是虚拟机的机器代码。

14.私有变量的作用域是建立它的模块及其下属的各层模块。

15.Java语言提供充分的安全保障,在运行程序时,有严格的访问权
限检查。

对字节代码执行前要检查,不允许使用指针,可防止对内存的非法入侵,它是目前安全性最正确的语言。

16.Java并不是对程序执行前检查,而是对字节代码进行检查,Java
编写好的程序首先由编译器转换为标准字节代码,然后由Java虚拟机去解释执行。

17.Java 2平台包括:J2ME平台、J2SE平台和J2EE平台。

其中:
1)J2ME是为嵌入式和移动设备提供的Java平台;
2)J2SE是面向企业级应用与服务的综合性标准开发平台;
3)J2EE是面向大型企业级用容器管理专用构件的应用平台。

18.rmiregistry命令是在当前主机的指定端口上启动远程对象注册服
务程序;serialver命令是返回serialVersionUID的值;rmic命令为远程对象生成stub和skeleton;rmid命令可以激活系统守候进程,以便能够在Java虚拟机上注册和激活对象。

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

20.throws出现在方法函数头;而throw出现在函数体。

21.throws表示出现异常的一种可能性,并不一定会发生这些异常;
throw则是抛出了异常,执行throw则一定抛出了某种异常。

22.Java虚拟机加载代码是在运行前的操作。

运行代码时会校验、编
译和执行代码。

23.Java相比C++优点:跨平台。

24.文件操作:
1)seek(long pos)是随机文件记录的查找。

2)lengh()方法是求随机文件字节长度的方法。

3)skipBytes(int n)方法是使随机文件访问跳过指定字节。

25.Float类的valueOf〔〕函数的原型是:static Float valueOf(String s),
它是-种静态方法,将字符串的内容提取出来转换为Float对象。

而floatValue〔〕函数的原型是:float floatValue〔〕。

它返回Float对象的浮点值。

26.Java命名的基本原则包括如下几条:
1)$不作为变量名、方法名的开头;
2)变量名、方法名首单词小写,其余单词只有首字母大写;
3)接口名、类名首单词第一个字母大写;
4)常量完全大写。

27.线程的优先级在创建线程时可以设置,也可以通过getPriority〔〕
方法来获得线程的优先级,通过setPriority〔〕方法来设定线程的优先级。

28.守护线程是一类特殊的线程,它并不是应用程序的主要部分,当
一个应用程序所有的非守护程序停止运行时,即使有守护线程在运行,应用程序也将终止,反之,只要有一个非守护程序在运行,应用程序就不会终止。

29.ThreadGroup是管理一组线程的类,不能创建线程。

30.线程生命周期中出现的状态包括:新建状态、可运行状态、运行
状态、阻塞状态和终止状态。

31.进程同步是指进程之间的一种直接的协同工作的关系,即共同完
成一件任务。

32.共享数据的所有访问一定要作为临界区,用synchronized标识。

33.一个进程的执行过程会产生许多线程,即执行流。

34.假设地址总线是n根,则内存的寻址范围为2的n次方
2^10=1024B=1KB 1MB=1024KB 1MB=1024KB 1GB=1024MB 35.Thread提供的方法:
1)resume()是Thread类提供的用于线程控制的方法;
2)start()是Thread类中的方法,新建的线程不会自动运行,必须
调用线程的start()方法才能运行该线程;
3)run()是Thread类中的方法,在该方法中定义了线程的具体行
为,线程开始执行时,就是从它的run()方法开始执行的,就
像Java应用程序从main()开始、Applet从ink()开始一样。

36.File类提供的方法:
1)getAbsolutePath():得到一个文件的绝对路径名;
2)getParentFile():得到文件对象父路径名;
3)getAbsoluteFile():等价于new File(this.getAbsolutePath());
4)getName():得到一个不包含路径的文件名。

37.File类就是一个重要的非流类,它是以一种系统无关的方式表示
一个文件对象的属性。

38.FileReader与BufferedReader都是字符类输入流,但FileReader的
参数是读入的文件,而BufferedReader的参数FileReader流的一个对象。

39.File类关心的是文件在磁盘上的储存,而要对文件进行读写,就
是流类所要关心的事了。

File类不对文件进行读写。

40.zipInputStream属于java.util.zip包。

41.Java中处理字节流的抽象类有InputStream和OutputStream。

其中
字节输入流都是抽象类InputStream的子类。

〔输入流:内存从外部读取数据,输出流:内存向外部写入数据。


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

2)FileInputStream可对一个磁盘文件涉及的数据进行处理。

3)ByteArrayOutputStream字节数组输出流。

这个类将一个字节数
组作为输出流,而任何内存块都可以以字节数组的形式使用,
故利用该类可以对内存进行写入操作,能直接向内存写入数
据。

4)ByteArrayInputStream以字节数组为输入流,它只能用于从内
存中读取字节流。

5)PipedInputStream,实现线程之间通信的一个类;
6)FilterInputStream,过滤器输入流;
7)SequenceInputStream,将多个输入流首尾相接;
8)ZiplnputStream〔压缩文件输入流〕是InflaterInputStream的子
类,而InflaterInputStream是FilterInputStream的子类
42.J2SDK的操作命令。

1)Javah,生成C头文件和Stub文件;
2)Javap,Java类文件解析器,用于解析类文件;
3)Jar,Java类文件归档命令,可将多个文件合并为单个JAR归档
文件;
4)Java,Java语言的解释器,解释运行Java字节码。

43.JDK工具。

1)javac.exe:Java编译器,能将源代码编译成字节码,以.class
扩展名存入java工作目录中。

2)javadoc.exe:Java文档生成器,对Java源文件和包以MML格
式产生API文档。

3)javaprof.exe:Java剖析工具,提供解释器剖析信息。

4)javap.exe:Java反汇编器,对.class文件提供字节代码反汇编,
并打印。

44.JDK目录结构:
1)bin目录下有编译器、解释器和许多工具〔如服务器工具、IDL、
package工具和jdb等〕;
2)demo目录下有各种演例如子;include目录下是Win32子目录,
都是本地方法文件;
3)lib目录下都是库文件;
4)jre目录是Java程序运行环境的根目录,它下面有bin子目录,
包括平台所用工具和库的可执行文件和DLL文件。

45.System类是一个final类,它不能被继承,同时它又是一个抽象类,
所以也是一个不能被实例化的类,它主要提供标准输入输出、错误输出流、对外部定义的属性及环境变量的访问、加载文件和库的方法、还有快速复制数组的一部分的实用方法。

46.在实现Serializable接口的类中,用transient关键字可使某些数据
不被串行化。

47.Thread类提供的基本线程控制方法包括:
1)sleep〔〕使比其低的优先级线程运行,可以让一个线程暂停
运行-段固定的时间;
2)yield〔〕使具有与当前线程相同优先级的线程有运行的时机,
调用了yield函数的线程有可能被马上执行,也有可能不会马
上执行;
3)join〔〕使当前线程暂停执行,等待调用该方法的线程结束后,
再恢复执行;
4)interrupt〔〕中断线程的阻塞状态,并且线程接收
到InterruptException异常。

48.Java中提供了interrupt方法用来中断一个线程,当调用一个线程
的interrupt方法时,即向该线程发送一个中断请求。

在调用线程的interrupt方法时,如果该线程由于调用了sleep方法或wait方法而正在处于阻塞状态,那么线程会抛出一个InterruptException 异常。

49.notify函数从线程等待池中移走任意一个线程,并把它放到锁标志
等待池中,其状态仍旧是等待。

50.虚拟机执行过程的特点有:多线程、动态连接、异常处理。

51.代码安全检查是Java语言的一个突出特点,但不属于虚拟机执行
过程特点。

52.一个文件的public类最多可以有一个,但是可以包含多个import,
包含的接口定义也可以有多个,包含的class类可以有多个,当该文件命名时,可以以public类名来命名,反之编译之后将有多个.class文件生成。

53.Iavac.exe各个命令格式含义:
1)-g输出文件中加行号以及局部变量信息,为调试程序时用。

2)-o对类文件进行优化编译。

3)-nowarn关闭警告信息,只显示错误信息。

4)-verbose显示源代码文件和字节码文件的相关信息。

5)-d<目录>指定存放生成的类(.class)文件的位置根据上述介绍可
知,在编译Java程序时,可以通过选项-d来指定生成的.class 文件的位置。

54.在Synchronized块中等待共享数据的状态改变时调用wait〔〕
方法,这样该线程进入等待状态暂时释放共享数据对象的锁。

55.在主函数调用子函数时,主函数会保持当前状态,然后转去执行
子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。

所以-般采用栈式存储方式。

56.假设一个进程请求新资源之前首先释放已占有的资源,这破坏了
部分分配条件。

软件工程
1.物理设计阶段主要解决选择文件存储结构和确定文件存取的方法
的问题,包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。

2.设计软件结构是在软件概要设计进行的事,而概要设计属于软件
开发期。

3.软件的调试方法主要有:强行排错法、回溯法和原因排除法。

1)强行排错法:是传统的调试方法,其过程可概括为:设置断点、
程序暂停、观察程序状态、继续运行程序。

这是目前使用较多、
效率较低的调试方法。

2)回溯法:该方法适合于小规模程序的排错。

即一旦发现了错误,
先分析错误征兆,确定最先发现"症状"的位置。

然后,从发现
"症状"的地方开始,沿程序的控制流程,逆向跟踪源程序代码,直到找到错误根源或确定错误产生的原因。

3)原因排除法:是通过演绎和归纳,以及二分法来实现的。

4.软件测试有3个重要特征:测试的挑剔性、完全测试的不可能性
及测试的经济性。

5.需求分析常用工具有数据流图(DFD)、数据字典(DD)、判定树和判
定表。

6.详细设计的常用工具有问题分析图(PAD)、程序流程图(PFD)、金式
图(N-S)。

7.数据字典是各类数据描述的集合,它通常包括5个部分,即数据
项、数据结构、数据流、数据储存和处理过程。

8.在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数
据字典(DD)、判断树和判断表。

9.软件危机:
①对软件开发的进度和费用估计不准确;
②用户对已完成的软件系统不满意的现象时常发生;
③软件产品的质量往往靠不住;
④软件常常是不可维护的;
⑤软件通常没有适当的文档;
⑥软件成本在电脑系统总成本中所占的比例逐年上升;
⑦软件开发生产率提高的速度,远远跟不上电脑应用迅速普
及深入的趋势。

10.对象有如下特征:标识唯一性,多态性,封装性,模块独立性,
分类性。

11.面向对象设计方法:分类性、封装性、模块独立性、继承和多态
性等。

数据库
1.将E—R图转换为关系模式时,实体和联系都可以表示为关系。

数据结构
1.数据的存储结构是指数据结构(数据的逻辑结构)在电脑中的表示,
又称物理结构。

2.数据模型包括三部分:数据结构、数据操作、数据约束。

3.算法具有确定性、可行性、有限性和足够的情报四个特点。

4.。

一个算法的优劣可以用空间复杂度与时间复杂度来衡量,也就
是算法分析。

5.栈可应用于表达式求值、二叉树对称周游算法的实现和快速排序
算法的实现等。

6.分块查找是将表分成假设干块,分块的原则是数据元素的关键字
在块与块之间是有序的,而块内元素的关键字是无序的。

分块法可以适应动态变化的要求。

顺序法、二分法、散列法是在顺序存储的一组记录内进行查找的。

7.树的层次次序周游算法的实现用到的是队列而不是栈。

8.算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执
行情况的,它们之间没有内在联系。

9.数据元素是数据的基本单位,即数据集合中的个体。

有些情况下
也把数据元素称为结点、记录、表目等。

一个数据元素可由一个或多个数据项组成,数据项是有独立含义的数据最小单位,其值能唯一确定一个数据元素的数据项。

10.数据结构:数据的逻辑结构。

11.数据独立性包括数据的物理独立性和逻辑独立性。

1)物理独立性是指用户的应用程序与存储在磁盘上的数据库中
数据是相互独立的。

2)逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互
独立的,即当数据的逻辑结构改变时,用户程序也可以不变。

12.队列个数=rear-front+容量。

13.数据库设计包括逻辑设计和概念设计。

程序设计语言
1.程序设计语言的基本成分有:
1)数据成分,用于描述程序所涉及的数据;
2)运算成分,用于描述程序中所包含的运算;
3)控制成分,用于描述程序中所包含的控制;
4)传输成分,用于表达程序中数据的传输。

2.在面向对象方法中,对象之间通过消息进行通信。

3.电脑常用的高级语言有:BASIC语言、FORTRAN语言、COBOL语言、
PASCAL语言、C语言、PROLOG语言、而当前流行的,面向对象的程序设计语言有C++和用于网络环境的程序设计语言Java等。

4.结构化程序设计的核心和基础是结构化设计理论,其中包括:结
构化分析方法、结构化设计方法和结构化编程方法。

相关文档
最新文档