大工14秋《Java程序设计》开卷考试期末复习题

上传人:文*** 文档编号:45400327 上传时间:2021-12-07 格式:DOCX 页数:23 大小:46.22KB
收藏 版权申诉 举报 下载
大工14秋《Java程序设计》开卷考试期末复习题_第1页
第1页 / 共23页
大工14秋《Java程序设计》开卷考试期末复习题_第2页
第2页 / 共23页
大工14秋《Java程序设计》开卷考试期末复习题_第3页
第3页 / 共23页
资源描述:

《大工14秋《Java程序设计》开卷考试期末复习题》由会员分享,可在线阅读,更多相关《大工14秋《Java程序设计》开卷考试期末复习题(23页珍藏版)》请在装配图网上搜索。

1、期末复习资料一、单选题1、关于可以独立运行的Java应用程序,下列说法哪个是正确的( )?23 / 23A无须main方法B必须有两个main方法C可以有多个或0个main方法D必须有一个main方法2、Java创建一个对象使用的关键字是( )。AclassBinterfaceCnewDcreate3、执行如下代码:intx=new int5;,以下哪项说明是正确的?( )Ax4为0Bx4未定义Cx5为0Dx0为空4、用关键字abstract定义的类( )。A可以被实例化B不能派生子类C不能被继承D只能被继承5、假设对象x具有属性a,则访问该属性的方法是( )。Aa.xBa.x()Cx.aDx

2、.a()6、下面是一个无修饰符的类:class Car.,则类Car( )。A可被其他程序包中的类使用B仅能被本程序包中的类使用C不能被任何类使用D不能被其他类继承7、构造方法在什么时候被调用( )?A类定义时B使用对象的属性时C使用对象的方法时D对象被创建时8、下列选项不允许作为类及类成员访问控制符的是( )。ApublicBprivateCstaticDprotected9、表达式(short)(8/9.2*5)的值类型为( )。AshortBintCdoubleDfloat10、类B和类C都不是抽象类,并且类B是类C的父类。下面声明对象x1的语句不正确的是( )。AB x1=new B(

3、)CC x1=new C()BB x1=new C()DC x1=new B()11、下列关于Java内部类的叙述错误的是( )。A内嵌类型可以与外层类型同名C内部类中可以声明成员变量和成员方法B内部类可以声明为抽象类D内部类可以继承父类或实现接口12、表达式:(ab)?(cd)?a:c:d,(其中a=5,b=9,c=1,d=9)的值为( )。A5B8C1D913、下列哪一个方法不是Applet生命周期相关的4个方法之一( )。Ainit()Bstart()Cwait()Dstop()14、下面的Java变量中,不属于复合类型的数据类型是( )。A类B字符型C数组型D接口15、构造方法何时被调

4、用( )。A 类定义时B 调用对象方法时C创建对象时D使用对象变量时16、Java程序的执行过程中用到一套JDK工具,其中javac.exe是指( )。AJava文档生成器BJava解释器CJava编译器DJava类分解器17、定义一个名为“Car”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应该为( )。Aprivate class Car extends ObjectCclass Car extends ObjectBpublic class CarDprivate class Car18、当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )。A捕获异常B抛出异常C声

5、明异常D嵌套异常19、Java中的哪个类提供了随机访问文件的功能( )。ARandomAccessFile类CRandomFile类BFile类DAccessFile类20、下列哪个Java标识符是合法的( )。AnewBclassCintDconst121、Java程序源文件和经编译后的文件扩展名分别是( )。A.class和.javaB.java和.classC.class和.classD.java和.java22、Java中为了区别重载多态中同名的不同方法,要求( )。A返回值类型相同C参数名称不同B采用不同的参数列表D以上三项都不对23、下列语句中,( )是不能通过编译的语句。Adou

6、ble d=545.0;Bchar a1=c;Cint i=321;Dfloat f1=45.0f;24、Java中流的传递方式属于( )。A并行的B串行的C并行和串行D以上都不对25、Java程序设计语言中,JDBC指的是( )。AJava程序与数据库连接的一种机制BJava程序与浏览器交互的一种机制CJava类库名称DJava类编译程序26、Java程序设计语言中,关键字super的作用是( )。A用来访问父类被隐藏的成员变量B用来调用父类中被重载的方法C用来调用父类的构造方法D以上都是27、下列java标识符的书写,错误的是( )。A_sysB$changeCuser_nameD1_fi

7、le28、Java中类实现的接口以及修饰不可以是( )。ApublicBabstractCfinalDvoid29、下列特性中,不属于面向对象编程的三大特征的是( )。A封装B指针操作C多态D继承30、执行如下语句序列,k的值是( )。int j=4,k=20; for(int i=1;i!=j;i+)k=k-i;A10B24C12D131、Java源代码保存在扩展名为( )的文件中。A.exeB.javaC.classD.javac32、调用alphabet.substring(6,10)返回的子字符串是( )。AGHIJBFGHICHIJDGHI33、关于while和dowhile语句的说

8、法,错误的是( )。A都是Java的循环语句Bwhile语句至少迭代一次Cdowhile语句至少迭代一次D两者都可以迭代多次34、inta;和intb=new int0;关于这两个语句的说法错误的是( )。Aa为空数组Bb不是空数组Ca是分配了0个元素的数组Db是分配了0个元素的数组35、下列关于Java中方法的说明,错误的是( )。A方法调用必须指定方法名和实际参数B写在return后面的语句不会被执行CJava应用程序从main()方法开始执行Dmain()方法不能被其他方法调用,包括Java虚拟机36、关于构造方法和方法的说法,错误的是( )。A构造方法可以创建类的对象B构造方法和方法都

9、有返回值类型C构造方法使用new操作符调用D方法使用句点操作符调用37、下列类中,属于java.lang包中的类的是( )。AArrays类BMath类CDate类DCalendar类38、下列关于方法修饰符的叙述,错误的是( )。Afinal修饰的方法在类中可以被重载Cnative修饰的方法表示方法体是以另一种程序设计语言实现的Bprivate修饰的方法指该方法只能从其自身的类中访问Dprotected修饰的方法指该方法只能从其自身的类及其扩展中访问39、下列哪一项不属于java.awt中的布局管理器类( )。AFlowLayoutBTableLayoutCBorderLayoutDGrid

10、Layout40、java.util包定义了3种一般类型的集合,下列哪一个不是( )。AListBMapCSetDHash41、JApplet类的直接父类是( )。AComponent类BContainer类CApplet类DPanel类42、下列协议中哪一个不属于网络层协议( )。ADNSBIPCICMPDIGMP43、下列属于文本数据流的是( )。A源代码程序B音频C图像D视频44、关于I/O类的说明,错误的是( )。AI/O类主要有4种BInputStream和Reader类用于输入COutputStream和Writer类用于输出DReader和Writer类用于处理二进制文件45、下

11、列不属于JDBC提供的驱动程序的是( )。A本地库Java实现驱动程序B网络协议驱动程序C数据库协议驱动程序D硬盘协议驱动程序46、下面哪种类是用简单数组来实现的( )。AHashSetBLinkedHashSetCTreeSetDTreeMap47、下列关于Applet小程序的叙述正确的是( )。AApplet可以独立运行BApplet小程序也必须有main()方法CPanel类是Applet类的子类DJApplet类是Applet类的子类48、关于接口的说明,错误的是( )。A接口可以包含嵌套类和接口B接口可以作为一种数据类型来声明变量和参数C接口可以扩展一个类D接口无构造函数49、下列哪

12、一个特性不是进程和线程所共有的( )。A结构性B共享性C动态性D独立性50、下列不可以正确表示Java标识符的是( )。A$maxBabcC_minDpublic二、填空题1、在子类中使用关键字 做前缀可调用被子类覆盖的父类中的方法。2、创建包需要使用的关键字是 。3、按照异常处理的不同可分为捕获异常、声明异常和 三种。4、静态内嵌类型用于定义 的嵌套结构,实例内嵌类型用于定义 的嵌套结构。5、Java语言的各种数据类型之间提供两种转换,自动转换和 。6、Java语言通过接口支持 继承,使类继承具有更灵活的扩展性。7、 是类的实例。8、方法的多态包括方法的重载和覆盖,其中方法重载是 时多态。9

13、、Applet类的直接父类是 。10、Java图形用户界面的组件和事件由 和 包共同提供。11、Java语言是从 语言发展而来的。12、Java中的Object类包含在 包中。13、运算符instanceof的运算结果为 类型。14、 是指一组有顺序、有起点和终点的字节集合,是对数据传输的总称或抽象。15、IP协议和UDP协议均是 的协议。16、Java的 机制是分隔方法声明与方法实现细节的最好机制。17、 是可以嵌入Web页面的最小应用。18、类中的一个成员被private修饰,则该成员能被 成员访问。19、Java的字节码保存在扩展名为 的文件中。20、 是定义标准Java类和接口的所有类

14、库的集合。21、构造函数使用 操作符来调用,方法使用 操作符来调用。22、类的实例方法调用中的 参数,就是该方法被绑定到的对象。23、 就是一个不含参数的构造函数。24、声明为 的数组是通用数组。25、在面向对象程序设计中, 指的是对象具有不同类的不同形式的对象的能力。26、 接口表示了那些实例可以用compareTo()方法类做比较的类。27、 类不能被实例化,因为它的某些方法没有可运行的代码体。28、 是一组相互交错的接口和类,这些接口和类支撑列表、集和迭代器的创建和使用。29、ArrayList类和HashSet类是用 来实现的。30、Java的 是一个对象,它提供了对文件或其他资源的访

15、问。31、要成为可串行化的,类必须实现 接口。32、 是一个对象,控制容器中的组件在容器中如何安排。33、 把源代码程序翻译成机器语言程序, 是在需要时才分别翻译并运行源代码的每个句子。34、 是一种软件系统,它可以翻译和运行Java字节码。35、LinkedHashSet类和LinkedHashMap类是用 的结构来实现的。36、 对象作为Java集合框架的一个成员,支撑Collection接口的所有方法。37、二进制文件是按 位字节来访问的,文本文件是按 位字符来访问的。38、在Java中,大多数的图形定义在 包和 包中。39、 用于在窗口中显示文本。40、构造函数可以用 和 关键字来调用

16、其他的构造函数。41、Java支持的UDP数据报通信需要 和 两个类配合。42、 提供对文件的操作,其中通过流进行文件读写操作。填空题答案1super 2package 3抛出异常 4类型、对象 5强制转换6多重 7对象 8编译 9Panel类10java.awt、javax.swing 11C+ 12java.lang 13boolean 14流15无连接 16接口 17Applet 18当前类19.class 20Java API 21new、句点 22隐式 23默认构造函数24Object 25多态性 26Comparable 27抽象 28Java集合框架29简单数组 30数据流 31

17、java.io.Serializable 32布局管理器33编译器、解释器 34Java虚拟机 35链式加索引 36ArrayList 378、1638java.awt、javax.swing 39javax.swing.JLabel 40this、 super 41DatagramPacket、DatagramSocket 42File类三、简答题1、简述Java程序的可移植性。(第一章,Java的特点)与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行

18、时系统由标准C实现,这使得Java系统本身也具有移植性。Java的这种可移植性也许是Java最诱人的特点。用Java开发成的系统其移植工作几乎为0,一般情况下只需对配置文件、批处理文件做相应的修改即可实现平滑移植。2、抽象类和抽象方法有什么特点?(第三章,类的抽象性)一个抽象类里面可以没有抽象方法,但含有抽象方法的类必定是抽象类;抽象类不能被实例化为对象,而只能作为其他类的超类,并且必须被继承;若某子类继承自一个抽象类,而该子类不是抽象类,则子类需要覆盖的方式来实例化超类中的所有抽象方法。抽象方法可再与public、protected复合使用,但不能与final、private和static复

19、合使用;抽象方法只有方法声明,不能有方法体。3、什么是异常?为什么要进行异常处理?(第五章,异常处理)异常,是指由于程序运行时发生错误,从而导致程序错误结束。在进行程序设计时,错误的产生是不可避免的,没有异常处理代码的程序,在运行时发生错误则可能非正常结束,引起严重问题。因此,Java给程序员提供了处理运行时错误的功能,称为异常处理。4、String类和StringBuffer类的主要区别是什么?(第四章,String字符串类)String类:用于比较两个字符串,查找和抽取串中的字符或子串,字符串与其他类型的转换等,String类对象的内容一旦被初始化就不能再改变。StringBuffer类:

20、用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串中原来的内容。5、为什么用一个静态方法去调用一个非静态方法是不合法的?(第三章,静态成员和静态方法)静态方法没有绑定到任何特定的对象上,它没有隐式参数。因此,在静态方法中,没有隐式对象供非静态方法可绑定。6、什么是JDK?(第一章,Java的JDK)缩写词JDK表示的是“Java Development Kit”。它描述的是从Sun Microsystems公司网站下载的用来开发Java应用程序的文件集。它包括了Java编译器和Java API。7、对象的相等性与指向对象的引用的相等性之间有何不同?(第三章

21、,类和对象)如果两个对象具有相同的数值,那么这两个对象应该是相等的。如果两个引用指向的是同一对象,那么这两个引用是相等的。条件(p=q)可用于测试引用p和q的相等性,但不能测试它们所引用的对象的相等性。你可以声明一个方法equals()来测试对象的相等性。8、空数组和长度为0的数组有何不同?并举例说明。(第四章,java.util中数组类)空数组就是还没有分配存储空间的数组。长度为0的数组就是分配了0个元素的数组。在下面两个声明中:int a; /nullint b = new int0; /not nulla是一个空数组,b是一个长度为0的数组。空数组a没有长度,已分配存储空间的数组b的长度

22、为0。四、读程序题 (程序题考查的知识是Java程序设计的综合编程能力)1、读下面程序,写出程序的运行结果public class T1 public static void main(String args) T1 a=new T1(); a.method(8); a.method(1.2f); void method(float i) System.out.println(float:+i); void method(long i) System.out.println(long:+i); 答案long:8float:1.22、定义类A和类B如下:class A int a=1; doub

23、le d=2.0; void show() System.out.println(Class A:a=+a+td=+d); class B extends Afloat a=3.0f;String d=Java program;void show()super.show();System.out.println(Class B:a=+a+td=+d);若在应用程序的main()方法中有以下语句:A a=new A(); a.show();则输出结果如何?答案class A:a=1 d=2.03、下面程序段的运行结果是什么?public class teststatic String s1 =

24、new String(Test);static String s2 = new String(Test);public static void main(String args)if(s1=s2)System.out.println(Same);if(s1.equals(s2)System.out.println(Equals);答案Equals4、分析下面程序的运行结果。public class Father void speak()System.out.println(I am father!);void speak(String s)System.out.println(I like+

25、+s+.);public static void main(String args)Father x=new Father();x.speak();x.speak(father);答案I am father!I like father.5、分析下面程序的运行结果。public class Test static void throwProcess()trythrow new NullPointerException(空指针异常);catch(NullPointerException e)System.out.println(n在 throwProcess 方法中捕获一个+e.getMessag

26、e();throw e;public static void main(String args)trythrowProcess();catch(NullPointerException e)System.out.println(再次捕获:+e);答案在 throwProcess 方法中捕获一个空指针异常再次捕获:java.lang.NullPointerException: 空指针异常6、读下面程序,写出程序的运行结果public class test1public static void main(String args)String s1=ABC;String s2=ABC;System.

27、out.println(s2=s1:+(s2=s1);String s3=new String(ABC);System.out.println(s3=s2:+(s3=s2);String s4=new String(ABC);System.out.println(s4=s3:+(s4=s3);答案s2=s1:trues3=s2:falses4=s3:false7、读下面程序,写出程序的运行结果public class test1public static void main(String args)String str=This is the Mississippi River.;System

28、.out.println(str);int i=str.indexOf(s);System.out.println(The first index of s is +i);i=str.indexOf(s,i+1);System.out.println(The next index of s is +i);答案This is the Mississippi River.The first index of s is 3The next index of s is 68、读下面程序,写出程序的运行结果public class test1public static void main(String

29、args)Object a=new Object3;a0=new java.util.Date();a1=ABCDE;print(a);public static void print(Object a)for (int i=0;i0)char ch=str.charAt(0);if( )for(int i=1;i=A&ch=a&ch=A&ch=a&ch=0&ch=9)10、下面算法的功能是判断k是否为素数,请对算法中横线部分进行补充。static boolean isPrime(int k)if(k=2)return true;if( )return false;int j=(int)jav

30、a.lang.Math.sqrt(k);if(j%2=0)j-;while( )j-=2;return j2;答案k2&k%2=0j2&k%j!=0五、编程题 (程序题考查的知识是Java程序设计的综合编程能力)1、求两个正整数的最大公约数。public class A public static void main(String args) int a=6,b=12,k=0; do k=a%b; a=b; b=k; while(k!=0); System.out.println(a); 2、将一个字符串数组按字典序重新排列。class Sort public static void main

31、(String args) String a=boy,apple,Applet,girl,Hat; for(int i=0;ia.length-1;i+) for(int j=i+1;ja.length;j+) if(ajaaapareTo(ai)0) String temp=ai; ai=aj; aj=temp; for(int i=0;ia.length;i+) System.out.print( +ai); 3、将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母。public class exchangepublic static void main(String args)

32、String s=new String(abcABC);System.out.println(s);char a=s.toCharArray();for(int i=0;ia.length;i+)if(Character.isLowerCase(ai)ai=Character.toUpperCase(ai);else if(Character.isUpperCase(ai)ai=Character.toLowerCase(ai);s=new String(a);System.out.println(s);4、编写一个程序,用直接选择排序对数组a=2,1,10,5,3,7,9,6进行从小到大的排

33、序,并输出。public class ArraySortpublic static void main(String args)int array=2,1,10,5,3,7,9,6;int i,j,k,t;int m=array.length;for(i=0;im-1;i+)k=i;for(j=i+1;jm;j+)if(arrayjarrayk) k=j;if(i!=k)t=arrayk;arrayk=arrayi;arrayi=t;for(i=0;i0) System.out.println(n0);6、编写一个Java程序,该程序用数值5814来初始化一个整数变量n,然后用商运算和余数运算

34、来抽取和如下显示n的每个数字。n=5814The digits of n are 5,8,1,and 4public class test1public static void main(String args)int n=5814;System.out.println(n=+n);System.out.print(The digits of n are );System.out.print(n/1000);n%=1000;System.out.print(,+n/100);n%=100;System.out.print(,+n/10);n%=10;System.out.println(,an

35、d +n);7、编写一个Java程序,把两个词的人名改写为第一个字母大写,其余字母小写。例如,输入:noRtH CARolIna,将生成输出:North Carolina。import java.io.*;public class StaticTest public static void main(String args)throws IOException InputStreamReader reader=new InputStreamReader(System.in); BufferedReader in=new BufferedReader(reader); System.out.pr

36、int(Enter a two-word name:); String name=in.readLine(); System.out.println(You entered: + name); int i=name.indexOf( ); int j=name.lastIndexOf( ); String s0=name.substring(0,1).toUpperCase(); String s1=name.substring(1,i).toLowerCase(); String s2=name.substring(j,j+2).toUpperCase(); String s3=name.s

37、ubstring(j+2).toLowerCase(); System.out.println(s0+s1+s2+s3); 8、编写一个Java程序,要求打印出一个9*9乘法表。public class StaticTest public static void main(String args)final int size=9;for(int x=1;x=size;x+)for(int y=1;y=size;y+)int z=x*y;System.out.print(z10? : )+z);System.out.println();六、分析论述题 (考查本门课程综合理解)1、通过对本门课程的

38、学习,从复杂性、语言性质、结构、安全性、适应性、线程特点等方面谈谈你对Java程序设计语言的理解。1)简单。因Java语言的语法与C语言特别是C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别是,Java语言不使用指针,并提供了自动的垃圾回收机制,使得程序员不必为内存管理而担忧。2)面向对象。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。3)分布式。Ja

39、va语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4)健壮。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5)安全。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络

40、下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。6)体系结构中立。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7)可移植。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的。8)解释型。J

41、ava程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9)是多线程。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线

42、程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。10)动态。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。2、结合实际编程经验,从TCP客户端和服务器端两方面介绍一下Java网络编程的步骤。TCP客户端编程步骤:1、建立网络连接客户端网络编程的第一步都是建立网络连接。在建立网络连接

43、时需要指定连接到的服务器IP位置和端口号。建立完成后,会形成一条虚拟的连接,后续的操作就可以通过该连接实现数据的交换了。2、交换数据连接建立以后,可以通过这个连接交换数据。交换数据一般会按照“请求-响应”模式进行,即有客户端发送一个请求数据到服务器,服务器反馈一个响应数据给客户端,如果客户端不发送请求则服务器就不主动响应。根据逻辑需要,可以进行无限次的数据交换。3、关闭网络连接在数据交换完成以后,关闭网络连接,释放程序占用的系统资源。TCP服务器端的编程步骤:1、监听端口服务器端属于被动等待连接,所以服务器端启动以后,只需要监听本地计算机的某个固定端口即可。这个端口就是服务器端开放给客户端的端

44、口,服务器端程序运行的本地计算机的IP位置就是服务器端程序的IP位置。2、获得连接当客户端连接到服务器是,服务器端就可以获得一个连接,这个连接包含客户端的信息,例如客户端IP位置等,服务器端和客户端也通过该连接进行数据交换。一般在服务器端编程中,当获得连接时,需要开启专门的线程处理该连接,每个连接都由独立的线程实现。3、交换数据服务器端通过获得的连接进行数据交换。服务器的数据交换步骤一般是首先接收客户端发送过来的数据,然后进行逻辑处理,最后把处理结果数据发送个客户端。简单说,就是先接收再发送,和客户端的数据交换顺序有所不同。实质上,服务器端获得的连接和客户端创建的连接是一样的,只是数据交换的步

45、骤不同。4、关闭连接当需要停止网络通信是,就需要关闭服务器端,通过关闭服务器端使得服务器监听的端口以及占用的内存等系统资源可以释放出来。3、分析解释一下MVC架构,并说明MVC如何工作?MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MV

46、C应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图 视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允

47、许用户操纵的方式。 模型 模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数

48、据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。4、结合Java程序设计语言说明可移植性的概念,并分析Java采用哪些机制来保证其可移植性。程序的可移植性指的是程序不经修改而在不同硬件或软件平台上运行的特性,可移植性在一定程度上决定了程序的可应用性。可移植性可分两个层次:源代码级可移植性和二进制可移植性。Java不仅是源代码级可移植的,甚至源代码经过编译之后形成的二进制代码字节码,也同样是可移植的。Java采用了多种机制来保证可移植性,

49、其中最主要的有两条:第一,Java既是编译型又是解释型的。Java将源程序编译成字节码二进制代码,这种字节码通过Java解释器来解释执行。任何一台机器,只要配备了Java解释器,就可以运行Java字节码,而不管这种字节码是在何种平台上生成的。这不仅使开发的Java源代码是可移植的,甚至源代码经过编译之后形成的二进制代码字节码,也同样是可移植的。Java源程序编译生成的字节码不是直接在操作系统平台上运行,而是在一个称为Java虚拟机(JVM)的平台上运行。利用JVM把Java字节码跟具体的软硬件平台分隔开来,就能保证在任何机器上编译的Java字节码文件都能在该机上运行。第二,Java采用的是基于国际标准IEEE标准的数据类型。Java的数据类型在任何机器上都是一致 的,它不支持特定于具体的硬件环境的数据类型,它还规定同一种数据类型在所有各种实现中必须占据相同的空间大小。此外,Java的可移植性还体现在Java的运行环境上。Java编译器是用Java语言本身所编写的,而其他运行时环境则是用ANSIC编写的,整个运行时环境体现了一个定义良好的可移植性接口。最后,Java语言规范遵循POSIX标准,这也是使Java具有良好可移植性的重要原因。友情提示:部分文档来自网络整理,供您参考!文档可复制、编制,期待您的好评与关注!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!