一、 填空题:(20分)
1、 常用的HTTP请求的方法有那些:
2、 请描叙下Test.java编译后,在控制台执行命令“java Test”后的输出结果:_________
Test.java内容如下:
Class A
{
public A()
{
systemout.print(“A”):
}
}
class B extends A
{
public B()
{
system.out.print(“B”);
A a=new A();
}
}
public class Test
{
public Test()
{
system.out.print(“test”);
}
public static void main(string[]a)
{
B b=new B();
}
}
二、 不定项选择题:(40分)
1、 关于JAVA的集合下面说法正确的是:( )
A、 LINKEDLIST使用双链表保存对象,所以很容易得到其中一个对象的前面的对象
B、 为了保证KEY的唯一性,HASHMAP的KEY只能是字符串对象
C、 TREEMAP、TREESET都可以对其中容纳的对象排序,但是要求其容纳的对象必须实现COMPARABLE接口或者给其传入实现了COMPARATOR接口的对象
D、 LINKEDHASHMAP可以按照加入对象的顺序取出所有对象
2、 关于JSP/SERVLET下面说法错误的是:( )
A、 JSP在执行之前被转换成一个JAVA类,然后被编译成CLASS
B、 浏览器提交请求到/AB.JSP,在AB.JSP中FORWARD到/BB.JAP,BB.JSP中的request.geturi()返回的字符串是:/bb.jsp
C、 jsp标签可以象HTML或者JAVASCRIPT一样在浏览器上执行
D、 可以通过request\getmethod()获取到客户端的请求方式,例如:POST,GET
3、 关于JDBC下面的说法正确的是:( )
A、 在一个CONNECTION上可以创建多个STATEMENT并同时执行不同的SQL雨季
B、 通过设置一个CONNCTION的属性就可以做一个数据库事务
C、 通过设置一个STATEMENT的属性就可以做一个数据库事务
D、 可以直接在在线结果集RESULETSET中更新数据库记录
4、 关于字符串下面说法正确的是:( )
A、 STRINGBUFFER使用字符数组CHAR[ ]保存数据
B、 STRINGBUFFER可以被修改,STRING不能被修改
C、 使用STRINGBUFFER可以提高字符串查找的速度
D、 使用STRINGBUFFER可以提高字符串相加的速度
5、 关于JAVA方法中参数的值传递合引用传递下面说法正确的是:( )
A、 所有的参数都是通过值传递到方法中
B、 所有的参数都是
C、 原始数据类型都是通过值传递到方法中
D、 数组都是通过值传递到方法中
E、 对象类型都是通过引用传递到方法中
F、 对象类型都是通过值传递到方法中
三、 简答题:
1、 分析以下函数的代码,存在性能问题的有那些?何以如何优化?
Public static String getcountstring (int count)
{
sting str = new string (“”);
for (int i =0; i<count;i++)
{
char ch ,=’A’
str +=ch;
}
return str;
}
2、 请描述在多线程环境下,某些程序块或方法需要同步(synchronized)的原因:
四、 编程题:
1、 在应用程序中写一段程序读取D:\test.txt文件内容,并打印其内容到控制台
2、 有一个链表的节点类和一个操作该链表的接口,如下:
public class Node
{
public Node previous;
public Node next;
public Object data;
}
interface Node0peration
{
//在node后插入的新节点其data属性为o,并且返回此节点
note insert(Node node ,0bjeet o);
//在node 链表中查找data属性等于o的节点,并且返回此节点
note find (Node node ,0bjeet o);
}
请写一个类实现Node0peration接口,操作node对象,要求保证Node链表的原结构特征
3、 关于JAVA的集合下面说法错误的是: ( )
A. TreeSet、HashSet实现了Set接口,用于存放唯一对象集
B. 为了达到最优算法放入到HashSet和HashMap的对象都要求定义合理的HashCode值
C. 从LinkedList中获得迭代器Iterator,操作该Iterator的同时可以修改原来的LinkedList
D. Map用于存放键值对,HashMap使用哈希算法,TreeMap能够对存放的鍵进行排序
4、 关于JSP/SERVLET下面说法错误的是:( )
A、 JSP在执行以前被编译成了SERVLET
B、 JSP中可以直接访问SESSION,REQUEST,RESPONSE,OUT等对象
C、 JSP标签在浏览器上执行
D、 一个SERVLET实例可以同时为多个客户端服务
5、 关于JDBC下面说法正确的是:( )
A、 加载不同的JDBC驱动程序就可以连接到不同类型的数据库
B、 在一个连接(CONNECTION)上可以同时执行不同的语句(STATEMENT)
C、 通过设置一个语句(STATEMENT)的属性就可以做个数据库事务
D、 通过在线结果集(RESULTSET)可以在查询结果中直接更新数据库
6、 关于StringBuffer下面说法错误的是:( )
A、 STRINGBUFFER是从Bufferdewriter继承,用作字符串输出
B、 使用STRINGBUFFER可以提高多个字符串相加的效率
C、 多个字符串相加使用STRINGBUFFER不会产生较少的内存碎片
D、 STRINGBUFFER和STRING的区别在于STRINGBUFFER是可以修改的,STRING是只读的
7、 下面那种容器不能包含重复对象:( )
A、 ArrayList
B、 TreeSet
C、 Vector
D、 HashSet
五、 简答题:(20分)
1、 PreparedStatement和普通的Statement的区别
2、 请给出如下代码的运行结果:
public class test
{
public int i=0;
public static void main(string[]args)
{
Test t1=new Test();
Test t2=t1;
t1.i=1;
System.out.println(t2.i);
String a=”abc”;
String b=a;
a=”123”;
System.out.println(b):
}
}
六、 编程题(任选一题作答,20分)
1、 使用自己的类实现一个双链表,提供增加、插入和删除节点的功能
2、 在一组数1··N随机存放在一个大小为n的一维数组中,请实现一个排序算法对其进行排序,并把排序过程打印到控制台