二级java复习.docx
《二级java复习.docx》由会员分享,可在线阅读,更多相关《二级java复习.docx(15页珍藏版)》请在冰豆网上搜索。
二级java复习
二级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按键。
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.包中定义的事件适配器包括以下几个:
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事件处理机制与JavaApplication相同,采用监听器方式,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的绘制,该方法定义如下:
publicvoidpaint(Graphicsg)。
paint()方法有一个参数g是Graphics类的实例,该实例对象由浏览器生成,它包含了Applet的图形上下文信息,通过它向Applet中显示信息,该对象相当于Applet的画笔。
在调用paint()方法时,由浏览器将该对象传递给paint()方法。
2)update()方法:
publicvoidupdate(Graphicsg)
用于更新Applet的显示。
该方法将首先清除背景,再调用paint()方法完成Applet的具体绘制。
3)repaint()方法:
publicvoidrepaint()
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.:
基本颜色定义
28.:
基本字体定义
29.:
光标操作定义
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.一个javaapplication运行后,在系统中是作为一个进程。
5.进程由代码、数据、内核状态和一组寄存器组成。
线程由程序计数器、栈指针以及堆栈组成。
进程是一个内核级的实体,线程是一个用户级的实体。
6.Java中的线程模型由三部分组成,1、一个虚拟的CPU2、CPU执行的代码1、代码操作的程序。
7.Charc=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.Java2平台包括:
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(longpos)是随机文件记录的查找。
2)lengh()方法是求随机文件字节长度的方法。
3)skipBytes(intn)方法是使随机文件访问跳过指定字节。
25.Float类的valueOf()函数的原型是:
staticFloatvalueOf(Strings),它是-种静态方法,将字符串的内容提取出来转换为Float对象。
而floatValue()函数的原型是:
floatfloatValue()。
它返回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=1KB1MB=1024KB1MB=1024KB1GB=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():
等价于newFile(this.getAbsolutePath());
4)getName():
得到一个不包含路径的文件名。
37.File类就是一个重要的非流类,它是以一种系统无关的方式表示一个文件对象的属性。
38.FileReader与BufferedReader都是字符类输入流,但FileReader的参数是读入的文件,而BufferedReader的参数FileReader流的一个对象。
39.File类关心的是文件在磁盘上的储存,而要对文件进行读写,就是流类所要关心的事了。
File类不对文件进行读写。
40.zipInputStream属于包。
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.。
一个算法的优劣可以用空间复杂度与时间复杂度来衡量,也就是算