1、JAVA应用程序开发-试题及答案 1、在 JAVA 中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写 .应该使用( )关键字来声明父类的这些方法 : A、 final B、 static C、 abstrac D、 void 答案: C2、在 JAVA 中,已定义两个接口 B 和 C,要定义一个实现这两个接口的类, 以下语句正确的是( )。 A、 interface A extend B,C B、 interface A implements B,C C、 class A implements B,C D、 class A implements B, implements C 答案:
2、C3、在 JAVA 接口中可以定义 ( )。 A、 静态方法 B、 常量 C、 构造方法 D、 抽象方法 答案: B4、假设 A 有构造方法 A (int a),则在类 A 的其他构造方法中调用该构造方法和语句格式应为( )。 A、 A(X) B、 this.A(x) C、 this(x) D、 super(x) 答案: C5、设 x = 1 ,y = 2 , z = 3, 则表达式 y+=z-/+x 的值是( )。 A、 3 B、 3.5 C、 4 D、 5 答案: A6、下列关于继承的说法哪个正确 ?( )。 A、 子类只继承父类 public 方法和属性 B、 子类继承父类的非私有属性和
3、方法 C、 子类继承父类的方法,而不继承父类的属性 D、 子类将继承的所有的属性和方法 答案: B7、在 java 中.在使用 JDBC 时。对于多次调用同一条 SQL 语句的情况 , 使用( )通常会提高效. A、 Statement B、 CallableStatement C、 PreparedStatement D、 PrarmeterStatement 答案: C8、下列不能控制一个 Servlet 的生命周期方的法是: A、 service B、 destroy C、 doPost D、 init 答案: C9、能够给一个 byte 型变量赋值的范围是 ( )。 A、 0 6553
4、5 B、 (-128) 127 C、 ( -32, 768) 32, 767 D、 (-256) 255 答案: B10、java 语言中 int 类型数据占用多少位 ?( )。 A、 32 B、 64 C、 16 D、 20 答案: A11、ServletContext对象是如何创建的 ?( )。 A、 由 Servlet 容器创建,对于每个 HTTP 请求.Servlet 容器都会创建 一个ServletContext 对象 B、 由 JavaWeb 应用本身为自己创建一个 ServletContext 对象 C、 由 Servlet 容器创建,对于每个 JaveWeb应用,在启动时, S
5、ervlet 容器都会创建一个 ServletContext对象 答案: C12、在 JSP中不能在不同用户之间共享数据的方法是 ( )。 A、 通 过 cookie B、 利用文件系统 C、 利用数据库 D、 通过 ServletContext 对象 答案: A13、以下哪个不是 Collection 的子接口 ?( )。 A、 List B、 Set C、 Map D、 SortedSet 答案: C14、下面正确的创建 Socket 的语句是 ( )。 A、 Socket a = new Soeket(80): B、 Socket b = new Socket(130. 3. 4. 5,
6、 80): C、 ServerSocket c = new Socket(80) D、 ServerSocket d = new Socket (130. 3. 4, 5, 80) 答案: C15、下面的说法正确的是 ( )。 A、 带有页作用域的对象在一个 web 应用程序的每个 JSP中都存在 . B、 指令指定与一个特定的 JSP 请求不相关的全局信息。 C、 当 JSP 容器遇到开始定制标签和结束定制标签时,分别调用doInitBody 方法和 doAfterBody 方法。 D、 动作只在翻译时处理一次。 答案: D16、为了区分重载多态中同名的不同方法 ,要求:( )。 A、 参数
7、名不同 B、 采用不同的形式参数列表 C、 返回值类型不同 D、 选项 A, B, C 都对 答案: B17、下面是有关子类调用父类构造函数的描述正确的是 :( )。 A、 子类定义了自己的构造函数 .就不会调用父类的构造函数 B、 子类必须通过 Super 关键字调用父类有参数的构造函数 C、 如果子类的构造没有通过 super调用父类构造函数,那么子类会 先调用子类自己的构造函数,再调用父类不含参数的构造函数. D、 创建子类的对象时, 先调用子类自己的构造函数, 然后调用父 类的构造函数 答案: B18、在 Java中,负责对字节代码解释执行的是 ( )。 A、 垃圾回收器 B、 虚拟机
8、 C、 编译器 D、 多线程机制 答案: B19、一个 java 程序运行从上到下的环境次序是 ( )。 A、 操作系统、 Java程序、 jre/jvm 、硬件 B、 jre/jvm 、Java程序、硬件、操作系统 C、 java 程序、 jre/jvm 、操作系统、硬件 D、 java 程序、操作系统、 jre/jvm 、硬件 答案: C20、对于从 Employee 表中选择记录的以下代码片段, 识别其遗漏的代码行。 ( ) Connection con = null:Class. forName(sun.jdbc.odbc.JdbcOdbcDriver): con=DriverMana
9、ger.getConnection(jdbc:odbc:ss , sa , ); ResultSet rs=stat.executeQuery(select * from Employee);A、 Statement stat=createStatement(); B、 Statement stat=con.createStatement (); C、 PreparedStatement stat=con.createStatement(): D、 PreparedStatement stat=createPreparedStatement(); 答案: B21、Java语言的三大特性即是 :
10、( )、( )、( )。答案: 封装;继承;多态;22、在 Java中,char 型采用( )编码方案 ,这样,无论是中文字符还是英文字符 ,都是占用( )个字节的内存空间。答案: unicode;2;23、形式参数指的是方法被( )时的参数行,实际参数是方法被( )时所传递进去的变量或值。答案: 定义;调用;24、JSP内置对象中,( )对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而Web 对象则是每个客户专用( )的。答案: application;session;25、如果想把一个对象写入一个流,那么这个类就必须实现( )接口 。 答案: S
11、eralizabe;26、程序中实现多线程的方法有两种 :继承Thread 类和实现( )接口。 答案: runnable;27、多线程中,可以通过调用相应的( )方法来修改一个线程的相对优先级。 答案: setPriori;28、面向对象编程的五大设计原则,分别是( )、( ) 、( ) 、( ) 、( )、。 答案: 单一职责原则(SRP);29、通过 Ajax ,客户端获取的数据主要有两种类型:( )和( )。答案: responseText;responseXML;30、Socket通常也称为套接字,用于描述( )和( )。答案: IP地址;接口;31、请说出 ArrayList ,
12、Vector , LinkedList 的存储性能和特性。 答案: ArrayList和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。32、什么是单例模式 (Singleton) ? 请在下面写出一个单例模式类,并支
13、持多线程调用。 答案: 创建某类对象时,无论创建多少次该类对象只有一份在内存中,这就是单例模式。支持多线程调用,考虑线程安全,只需要加锁即可。 public class Singleton private static Singleton instance = null; private Singleton() private static synchronized void syncInit() if(instance = null) instance = new Singleton(); public static Singleton getInstance() if(instance = null) syncInit(); return instance; 33、请描述一下 JVM加载 class文件的原理机制 ? 答案: JVM 中类的装载是由 ClassLoader和它的子类来实现的 ,Java ClassLoader是一个重要的 Java 运行时系统组件。它负责在运行时查找和装入类文件的类。34、请谈谈对SQL 注入的理解,请给出你知道的防止 SQL 注入的方法。 答案: 解决办法: a. 利用 Javascript,在客户端进行校验。 b.程序判断 c.使用 PreparedStatemen连t d.利用框架技术