我就不吃芹菜

导航

 

选择题(每题1全部为单选)

1, 构造函数何时被调用( B ) 

A、类定义时

B、创建对象时 

C、调用对象方法时

D、使用对象的变量时 

 

2, 下面选项中不是权限修饰符的是( C )

Apublic   

Bprotected   

Cextends   

Dprivate

 

3, 要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符( D )。 

Afinal  

Bpublic   

Cprivate   

Dabstract 

 

4, 给出下面代码: 

 public class Person { 

   static String[] arr = new String[10];

   public static void main(String[] a) { 

    System.out.println(arr[1]); 

   

 } 

以下说法哪个是正确的( D )

A、 编译时将产生错误; 

B、 编译时正确,运行时将产生错误; 

、输出0; 

D、 输出null。 

 

5, 下面哪种注释方法能够支持javadoc命令( D )

A、 /**...**/ 

B、 /*...*/ 

C、 // 

D、 /**...*/ 

 

6, 以下哪个方法用于定义线程的执行体( C )

Astart()

Binit()

Crun()

Dmain()

 

7, 函数重载是指 ( A ) 

A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 

B、两个或两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 

C、两个或两个以上的函数名字不同,但形参的个数或类型相同 

D、两个或两个以上的函数取相同的函数名,并且函数的返回类型相同

 

8, 下面哪个语句是正确的( A ) 

AObject o = new Object();

BPerson p = new Object(); 

CPanel p = new void Frame();

DPerson p = new Person().test(); 

 

9, 下列说法不正确的是( C ) 

AIOException必须被捕获或抛出 

Bjava语言会自动初始化成员变量的值 

Cjava语言不允许同时继承一个类并实现一个接口 

Djava语言会自动回收内存中的垃圾 

 

10, JDBC的模型对开放数据库连接(ODBC)进行了改进,它包含( D ) ?

A、  一套发出SQL语句的类和方法

B、  更新表的类和方法

C、  调用存储过程的类和方法

D、  以上全部都是

 

11, 接口Statement中定义的executeUpdate返回的类型是( B )

A、 ResultSet

B、 int

C、 boolean

D、 String

 

12, 如果要限制某个查询语句返回的最多的记录数,可以通过调用Statement的方法( C )来实现。

A、 setFetchSize

B、 setMaxFieldSize

C、 setMaxRows

D、 setMaxCols

 

13, java中,Integer.MAX_VALUE表示( B )

A、浮点类型最大值

B、整数类型最大值

C、长整型最大值

D、短整型最大值

 

14, 若在某一个类定义中定义有如下的方法: abstract void performDial(); 该方法属于( D )

A、本地方法      

B、最终方法      

C、静态方法       

D、抽象方法

 

15, 删除表的关键字是( D )

A、 DELETE

B、 ALTER

C、 UPDATE

D、 DROP

 

16, 要给一个表增加一个字段要使用到的关键字有( B )

A、 DELETE

B、 ALTER

C、 UPDATE

D、 DROP

 

17, SQL语言中,建立存储过程的命令是( A )

ACREATE PROCEDURE

BCREATE RULE

CCREATE FUNCTION

DCREATE FILE

 

18, 向用户授予操作权限的SQL语句关键字是( D )

ACREATE      

BREVOKE        

CSELECT        

DGRANT

 

19, XML解析器忽略XML文档的特定部分的正确语法是( C )

A<xml:CDATA[ Text to be ignored ]> 

B<PCDATA> Text to be ignored </PCDATA> 

C<![CDATA[ Text to be ignored ]]> 

D<CDATA> Text to be ignored </CDATA> 

 

20, JSP页面中,保存数据的范围由小到大依次是 ( C )

ApageContext,request,application,session

BpageContext,application,session,request

CpageContext,request,session,application

DpageContext,session,request,application

 

问答题(每题4一个知识点1酌情给分错一个知识点扣一分扣完为止)

21, 以下代码的输出结果是 为什么 ?

public class Test {

public static void main(String[] args) {

Integer i1 = 100;

Integer i2 = 100;

Integer i3 = 150;

Integer i4 = 150;

System.out.println(i1 == i2);

System.out.println(i3 == i4);

 

String s1 = aaa;

String s2 = aaa

System.out.println(s1==s2); 

System.out.println(s1.equals(s2));

}

}

 

:

true

false

true

true

 

i1i2两个变量被定义成Integer引用类型当被赋值时根据赋值的大小(是否在byte类型的范围内)先判断是否在Integer类型的缓存中如果有则直接引用如果没有则返回new Integer(...), 所以第二个结果为false

 

==对比的是在内存中引用地址是否相同, equals对比的是值是否相同

 

String类在内存中有一个常量池当第一个变量被定义时会储存到常量池中第二个String类型定义时会去常量池里面查找是否已经定义此值如果有直接引用

 

22, 抽象类和接口有什么相同点和不同点 以及分别用什么关键字定义 ?

分别用abstractinterface关键字定义

抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。

抽象类要被子类继承,接口要被类实现。

接口只能做方法声明,抽象类中可以做方法声明,也可以做方法实现

接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

抽象方法只能声明,不能实现,接口是设计的结果 ,抽象类是重构的结果

抽象类里可以没有抽象方法

如果一个类里有抽象方法,那么这个类只能是抽象类

抽象方法要被实现,所以不能是静态的,也不能是私有的。

接口可继承接口,并可多继承接口,但类只能单个继承。

 

23, 什么是DAO层 ?

:

dao全称是data access object,数据库访问对象

DAO模式通过将数据访问计划分为抽象层(或者interface)和实现层,从而分离了数据使用和数据访问的地称实现细节。这意味着业务层与数据访问的底层细节无关,也就是说,可以在保持上层机构不变得情况下,通过切换底层实现来修改数据访问的具体机制,常见的一个例子就是,我们可以通过仅仅替换数据访问层实现,将我们的系统部署在不同的数据库平台之上。 

24, 如何通过反射获得一个类的实例化对象以及获取这个对象中的属性和属性值 ?

:

获取一个类的实例化对象

Class<?> cla = Class.forName("com.hanqi.maya.model.User");

Object obj = cla.newInstance(); // 此对象为获取的User对象

获取属性值

Field field = cla.getField("属性名");

fieldValue=field.get(obj);

 

25, oracle数据库scott用户下的员工表中查询出员工姓名中字母”R”出现两次或者两次以上的员工

SELECT * FROM EMP E WHERE LENGTH(REPLACE(E.ENAME, 'R', '')) - LENGTH(E.ENAME) >= 2

或者使用translate函数

 

26, 解释一下面向对象的五大原则中依赖倒置原则和开放封闭原则

开放封闭原则对象或实体应该对扩展开放,对修改封闭。

依赖倒置原则实体必须依靠抽象而不是具体实现。它表示高层次的模块不应该依赖于低层次的模块,它们都应该依赖于抽象。

 

27, Mybatis对应接口进行映射的时候方法可不可以进行重载 简述原因 ?

:

不可以因为mybatis映射文件中是通过<mapper>中的namespace属性外加执行语句的id进行方法定位的没有涉及参数的类型以及个数所以不能重载

 

28, Java中运算符>>, <<, >>>分别是什么意思?

位运算符

>>表示以二进制的形式向右移动, <<表示向左移动, >>>表示无符号向右移动即无论正负都在前面补0

 

29, java环境下的命令行中java命令和javac命令分别是做什么用的 ?

因为java是一门解释型语言, javac用来编译java文件以生成字节码形式的class文件, java命令用来向虚拟机进行解释来执行编译好的class文件

 

30, 当调用equals方法来判断字符串是否相同时经常会写成"aaa".equals(str), 为什么 ?

防止str变量接收到的参数为null

如果写成str.equals("...")在编译过程不会报错但是如果str这个变量接收到的参数为null的话则会报出空指针异常但是将字符串常量写在外面就可以避免这个情况因为nulljava中也被看作是一个对象的形式这时候会返回false

 

31, 什么是内部类 为什么要有内部类 ?

在一个类的内部再定义一个class, 内部类是为了解决java不能进行多重继承的问题

 

32, 什么是二分查找法?以及使用二分查找法的前提是?

二分折半查找法每次取一个顺序序列的中间值与要查找的值进行比对然后判断是在前半段查找还是后半段查找确定好之后再取中间值进行比对继续查找所以前提条件是要查找的序列必须进行排序

 

33, 线程中start(), sleep(), stop(), setPriority()分别是什么方法 如果让你设计一个终止线程的方法你会怎么做 ?

start: 启动线程

sleep: 使线程休眠

stop: 终止线程已废弃

setPriority: 设置线程的优先级

 

34, 描述一下在线程中什么是死锁 ?

当两个线程启动时第一个线程需要获取第二个线程的一个属性第二个线程需要获取第一个线程的一个属性的时候互相等待对方线程释放此对象时会造成死锁造成死锁的情况的条件还有要使用synchronized关键字

 

35, Oracle中一个表最多可以有几个主键使用两个字段作为主键的情况称为什么情况怎么使用?

一个表只能有一个主键主键可以使用两个字段叫做联合主键当同时确定这两个字段就能确定一条数据的唯一性的时候生效

 

36, PLSQL编程中循环有几种方式分别列举一下

三种方式

1, 

LOOP

EXIT...WHEN...

END LOOP

 

2, 

WHILE

LOOP

 

END LOOP

 

3, 

FOR ... IN ...

LOOP

 

END LOOP

 

37, Javaweb中要实现10天内登录保存密码的功能怎么实现 ?

在登录处理页面使用Cookie, 将登录信息存储到Cookie然后调用Cookie中方法setMaxAge(...)来设置cookie的过期时间值为毫秒数下次登录的时候先判断Cookie中有没有值如果返回不为null可以取出直接调用

 

38, jsp中如何使用EL表达式读取request对象中的一个Map对象的值 ?

${key值 }

 

39, Hibernateget方法和load方法有什么区别 ?

load方法支持延迟加载当查询结果被使用的时候才会去数据库进行查询, get方法不支持延迟加载

load方法查询时如果数据库中没有查询到该结果则会抛出异常, get方法则会返回null

 

40, jsp<%...%><%!...%><%=...%><%--...--%>分别是什么含义?

<%...%>: 定义java代码的语言脚本

<%!...%>: 声明变量等

<%=...%>: 将方法的返回值或某个变量直接显示

<%--...--%>: 脚本中的注释该注释不会在html页面中"查看页面源代码"中显示

posted on 2017-11-17 19:23  我就不吃芹菜  阅读(604)  评论(0编辑  收藏  举报