您好,欢迎访问三七文档
1一、简答题1.Java语言有哪些特点?主要用于能够哪些方面的软件开发?特点:(1)面向对象,(2)平台无关性,(3)分布式,(4)可靠性和安全性,(5)多线程,(6)简单性,(7)健壮性,(8)高性能,(9)灵活性。适用范围:(1)所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。(2)计算过程的可视化、可操作化的软件的开发。(3)动态画面的设计,包括图形图象的调用。(4)交互操作的设计。(5)Internet的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等。(6)Intranet上的软件开发(直接面向企业内部用户的软件)。(7)与各类数据库连接查询的SQL语句实现。(8)网络通信与移动通信,网络集成方面。2.Java程序分为哪两类?各有什么特点?如何区分它们?Java语言程序分为两类:应用程序Application和小程序Applet,它们是利用Java语言生成的可运行代码中最常用的两种,两者都必须在Java虚拟机上运行。Application更象我们平常用VB,VC等编写的桌面程序,多以控制台(CONSOLE)方式运行,当然也很容易实现窗口应用。Applet则需要嵌入Web页面中,在支持Java虚拟机的浏览器上运行。区分办法:应用程序Application中一定包括一个主方法main,而小程序Applet没有这个方法。3.简述Java程序的运行过程。一个Java源的运行需要经过三个步骤:(1)编辑源程序,产生.Java的源程序文件(2)运用Java虚拟机JVM将源文件编译为.class的字节码文件(3)根据程序的不同类型运行程序。对于应用程序直接调用运行命令执行字节码文件,而对于小程序Applet,需要先将字节码文件嵌入HTML文件,然后用浏览器软件打开HTML文件。4*.什么是Java虚拟机?简述其工作机制。Java虚拟机的功能:1.加载.class文件;2.管理内存;3.执行垃圾收集。Java虚拟机(JavaVirtualMachine—JVM)是一种利用软件方法实现硬件功能的抽象化的计算机,它基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。JVM是运行Java程序必不可少的机制,编译后的Java程序指令并不直接在硬件系统上CPU上执行,而是由JVM执行。JVM是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看成一个虚拟的处理器,它不仅解释执行编译后的Java指令,而且还要进行安全检查,它是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检验引擎。5.什么是对象?什么是类?什么是继承?对象:就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为,一个对象的变量构成这个对象的核心,包围在它外面的方法使这个对象和其它对象分离开来。类:对一组具有相同特征的对象的抽象描述,所有这些对象都是这个类的实例。在程序设计语言中,类是一种数据类型,而对象是该类型的变量,变量名即是某个具体对象的标识名。继承:将一个已有类中的属性和方法保留,加上自己特有的属性和方法,形成一个新的类,这种技术叫做继承,子类继承父类。6.类的修饰符包括哪些?各起什么作用?1.访问控制符(表示被访问权限)、2.抽象类说明符abstract(说明是否是抽象类)、3.最终类说明符final(表示是否是最终类)。7.属性的修饰符1.访问控制修饰符:private(私有),默认(default),protected(被保护),public(公共);2.静态修饰符static;3.最终说明符final。8.什么是构造方法?构造方法有什么特点?构造方法:一种特殊的方法,当用new命令每生成一个实例时,构造方法都会自动执行一次,而无须用户手工引用。构造方法的特征:(1).具有与类相同的名称;(2).不含返回类型;(3).不能在方法中用return语句返回一个值;(4).在类实例化时,它会由系统自动调用。9.包机制是用来干什么的?答:将相似的类和接口放在同一个包中集中管理10.布局管理器的作用是什么?Java提供了哪几种布局管理器?答:布局管理器用来控制组件在容器中的摆放位置。(1).顺序布局管理器(FlowLayout)含义:FlowLayout也称为流式布局管理器,其排版方式就像流程或文本处理器在处理一段文字一样,常用于RadioButton或CheckBox等组件的排列,它将组件逐个放置在容器的一行中,一行满后另起一行。(2).边界布局管理器(BorderLayout)、含义:该管理器将容器分为东、西、南、北、中5个区域,按照上北下南左西右东的格局分布,各用一个方位单词表示。(3).网格布局管理器(GridLayout)、含义:网格布局管理器用于将容器区域分为一个矩形网格(区域),其组件按行和列排列,每个组件占一格。(4).卡片布局管理器(CardLayout)、含义:卡片布局管理器是采用卡片式的管理方法,可存储几个不同的布局,每个布局就像是一个卡片组中的一张卡片,在一个给定的时间总会有且只有一张卡片在顶层,其他卡片看不到。(5).网格包布局管理器(GridBagLayout)含义:网格包布局管理器既可以实现网格布局的效果,也可以实现比网格布局更加复杂的布局,是一种很灵活也很难以掌握的布局管理器。11.简述浏览器调用Applet类的生命周期方法的过程。答:一个Applet的生命周期与Web页面有关。当首次加载含Applet的页面时,浏览器(1).调用init()方法,完成Applet的初始化。(2).然后调用start()方法,完成有关动作的执行。(3).接着调用paint()方法在浏览器上绘制内容。当用户离开页面时,浏览器(4).调用stop()方法停止小程序运行。若用户关闭浏览器将使Applet停止运行,浏览器(5).调用destory()方法终止,使小应用程序有机会释放其存在期间锁定的资源。只要用户不关闭浏览器,重新加载页面,浏览器则只调用start()方法和paint()方法重新绘制并运行小程序。(简单的答:init()初始化;star()启动,stop()终止,destory()消亡)。12.什么是异常?异常产生的原因有哪些?答:异常就是Java程序在运行过程中出现的错误。这类错误使程序非正常终止,但通过修正后还可以继续运行。异常产生的原因有:(1)JVM检测到非正常的执行状态,这些状态可能由以下情况引起的:(1)表达式违反了Java语言的语义,如除数为0(2)装入或链接程序时出错(3)超出了资源限制,如内存不足,这种异常是程序员无法预知的(2)程序代码中的throw语句被执行(3)因为代码段不同步而产生,可能的原因是:(1)Thread(线程)的stop方法被调用(2)JVM内部发生错误。13.什么叫流?对流的分类通常有几种方式?答:流是指一组有顺序的、有起点和终点的字节结合。2流的分类方式有多种:(1)根据数据流动的方向,可分为输入流和输出流。输入流:只能从中读取数据,而不能向其写出数据输出流:只能向其写出数据,而不能从中读取数据(2)根据处理数据的单位划分,可分为字符流和字节流字节流:以字节为单位进行数据传输,每次传送一个或多个字节字符流:以Unicode字符为单位进行数据传输,每次传送一个或多个字符(3)根据数据流所关联的是数据源还是其他数据流,可分为节点流和处理流节点流:直接从指定的位置(如磁盘文件或内存区域)读或写处理流:对一个巳存在的流的连接和封装,通过对所封装的流的功能调用实现数据的读/写功能,处理流并不直接连接到数据流。14.什么叫线程?什么叫多线程?答:线程是一个程序内部的一条执行线路,一个比进程更小的能独立运行的基本单位。多线程是指一个程序中同时存在着好几个执行体,它们按几条不同的执行线路共同工作,独立完成各自的功能而互不干扰。15.进程和线程的区别是什么?答:它们的区别在于:(1)进程是程序的一次动态执行过程,它对应了从代码加载,执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线路。每条线路,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。(2)每个进程都有独立的代码和数据空间,进程间切换的开销大;而同一类线程可以共享代码和数据空间,但每个线程有独立的运行栈和程序计数器,线程切换的开销小。16.简述线程的生命周期。答:新建的线程在它完整的生命周期中,包括新建、就绪、运行、阻塞和死亡5种状态。(1)新建(new)状态,用new命令建立一个线程后,还没有启动其指定的指令序列,这时的线程状态就是新建状态。(2)就绪(Runnable)状态,也叫做可运行状态,处于新建状态的线程被启动后即进入了本状态。这时线程正在等待分配CPU资源,一旦获得CPU资源即进入了自动运行状态。(3)运行(running)状态,线程获得了CPU资源正在线程的指令,此时除非它自动放弃CPU资源或者有更加高优先级的线程进入,否则线程将一直运行到结束。(4)阻塞(blocked)状态,由于某种原因致使正在运行的线程让出CPU资源暂停自己的执行,即进入阻塞状态,这时只有引起线程堵塞的原因被消除后才能使本线程回到就绪状态。(5)死亡(dead)状态,处于死亡状态的线程不具备继续运行的能力,死亡的原因有两个:一个是正常的线程完成了它的全部任务后退出,另一种是线程被强制中止,如调用stop()或destroy()方法让线程消亡。此时线程不可能再进入就绪状态等待执行。
本文标题:JAVA简答题
链接地址:https://www.777doc.com/doc-5869503 .html