第一部分 java基础
一、选择题(单选)(12题共24分) 1、以下哪项不属于java基础数据类型 (A) int, short, byte, long (B) float, double (C) boolean (D) String
2、下列哪个类不是Collection的子类 (A) List (B) Set (C) Map (D) Vector
3、若覆盖了某个类的hashCode 方法,则必须同时覆盖它的哪个方法 (A) contains (B) clone (C) toString (D) equals
4、以下关于java垃圾回收器描述错误的是
(A) 垃圾回收可以有效地防止内存泄露,有效地使用可以使用的内存 (B) 回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收等 (C) 可以手动执行system.gc(),通知GC运行,GC会立刻执行垃圾回收
(D) 程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收
5、请问下例方法的返回结果是什么 public int f(){ int i=0; try{ ++i; }finally{ ++i; } return ++i; } (A) 1 (B) 2 (C) 3 (D) 0
6、请分析下例代码的正确输出 public static void main(String[] args){ StringBuffer a = new StringBuffer(\ StringBuffer b = new StringBuffer(\ operat(a,b); System.out.println(a+\ } public static void operat(StringBuffer x, StringBuffer y){ x.append(y); y=x; } (A) A,B (B) A,A (C) AB,B (D) AB,AB
7、下面isEmptyString函数正确的是 (A) public boolean isEmptyString(String str){ return str == null || str.length()==0; } (B)
public boolean isEmptyString(String str){ return str.length()==0 || str == null; } (C) public boolean isEmptyString(String str){ return str ==\ } (D) public boolean isEmptyString(String str){ return str.equals(\ }
8、对于以下代码片段,有行号的代码执行顺序是 class SuperTest { private String name =\ // 1 public SuperTest(){ System.out.println(\ } }
class Test extends SuperTest{ private static String const1=\ public Test(){ System.out.println(\ } public static void main(String[] args){ new Test(); // 5 } }
(A) 3,5,1,2,4 (B) 5,3,4,1,2 (C) 3,5,2,4,1 (D) 5,3,4,2,1
9,基于下例声明
Integer s = new Integer(9); Integer t = new Integer(9); Long u = new Long( 9 );
表达式结果为true的是 (A) (s==t)
(B) (s.equals(u)) (C) (s.equals(t)) (D) (s.equals(9))
10、 如果使用了for(;;),则 (A) 发生编译错误 (B) 根本不进入循环 (C) 这时个无限循环 (D) 发生运行错误
11、以下关于OverLoad 和Override的描述错误的是
(A) 重写Overriding 是父类与子类之间多态性的一种表现 (B) 重载Overloading 是一个类中多态性的一种表现
(C) 某个方法被重写(Overriding) 指: 在子类种定义某方法与其父类有相同的名称和参数 (D) 在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)
(E) 重载Overload的方法不可以改变返回值的类型
12.以下说法错误的是()
(A) ArrayList和Vector都是使用数组的方式存储数据 (B) Vector是线程安全的
(C) LinkedList相比ArrayList插入数据慢
(D) LinkedList使用双向链表实现存储
二 、问答题 (3题共6分)
1.下列方法有那些错误或隐患(提示:至少2处) public void updateData(){
String sql=\ Connection conn =getConnection();
PreparedStatement ps =conn.prepareStatement(sql); ps.setString(0,\ ps.executeUpdate(); ps.close(); conn.close(); }
1. 没有捕获异常try catch finally
2. ps.setString(0,”0001”),错误,应是从索引1开始.
2.请简单描述一下JVM加载class文件的 原理及虚拟机访问类时的顺序
3.优化以下代码并简述原因 for(int i=0;i<1000;i++) {
for(int j=0;j<100;j++) {
for(int k=0;k<10;k++) {
function(i,j,k); } } }
第二部分 J2EE 应用开发
一、 选择题(单选) (4题共8分) 1.创建一个会话EJB需要包含下列哪些部分
(A) Home Interface,Remote Interface 和一个实现SessionBean 接口的类 (B) Home Interface,Remote Interface 和一个继承SessionBean的类 (C) Remote Interface 和一个实现SessionBean 接口的类 (D)Remote Interface 和一个继承SessionBean 的类
2.请列出EJB分类
(A) SessionBean 和 Entity Bean
(B) Stateless Session Bean 和Stateful Session Bean (C)BMP和CMP
(D)SessionBean 、Entity Bean和MessageDriver Bean
3.EJB事务属性设置为Required时表示
(A) 如果当前已经存在一个运行事务,EJB将加入该事务,如果没有运行的事务存在,则EJB容器新建 一个事务
(B) 如果此时已经有一个运行事务,该事务将被挂起,一个新的事务将在你的EJB调用过程中存在,当
存储过程结束后,老的事务将恢复 (C)如果当前已经存在一个运行事务,那么该bean将运行在这个事务中,如果不存在则该bean运行在
一个事务的环境中
(D)必须存在一个运行的事务,否则将抛出javax.EJB.EJBTransactionRequiredException异常
4.在EJB中,以下关于本地接口描述错误的是 (A) EJB都是通过该接口创建实例
(B) EJB2.0规范新增的内容,它使得Bean能够避免远程调用的开销
(C) 必须在EJB部署的机器上使用,既客户程序和提供服务的组建必须在同一个JVM上运行
(D) 所有数据和返回值都通过引用的方式船体,而不是传递值
二、问答题(1题共2分)
1、无状态会话Bean 和有状态会话bean 有何区别?
第三部分 Java 工具(1题共5分)
1、请尽量例举一下你在Java开发实际工作中使用过,或者了解过的相关工具 开放工具: 测试工具: 代码管理工具: 性能分析工具: 设计工具: 反编译工具: 应用服务器: 构建工具: