面试题录:笔试题篇

一、选择题

1、下列哪种选择是正确的()
A.abstract修饰符可修饰字符、方法和类
B.抽象方法的body部分必须用一对大括号{}包住
C.声明抽象方法,大括号可有可无
D.声明抽象方法不可写出大括号

我的解析:
1、 选D
abstract 只可以修饰类和方法
被abstract修饰的方法没有方法体

2、抽象方法不可写出大括号下列语句正确的是( )
A.形式参数可被视为local variable
B.形式参数可被字段修饰符修饰
C.形式参数为方法被调用时,真正被传递的参数
D.形式参数不可以是对象

我的解析:
2、 选A
Local variable(局部变量)

3.下列哪种说法是正确的()
A.实例方法可直接调用超类的实例方法
B.实例方法可直接调用超类的类方法
C.实例方法可直接调用其他类的实例方法
D.实例方法可直接调用本类的类方法

答案:3、选D

4.以下哪些变量名的定义是合法的? () (多选题)
A.String a ;
B.String a.b ;
C.String 0a ;
D.String a ;
E.String a
;
F String a0 ;

答案:4、 选A、D、E、F
我的解析:’_’ , '$'开头的变量名在java中都是合法的,但是在开发中不建议这样写,应该见名知意

5.有关线程的哪些叙述是对的。()(多选题)
A.一旦一个线程被创建,它就立即开始运行。
B.使用start ()方法可以使一个线程成为可运行的,但是它不- -定立即开始运行。
C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D.一个线程可能因为不同的原因停止(cease) 并进入就绪状态。

答案:5、选B、D

二、简答题

1、Hashmap和HashTable的区别?jsp/servlet是否线程安全?
答:HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 Null。非同步的。

HashTable是同步的,而HashMap是非同步的,效率上比HashTable要高。HashMap允许空键值,而HashTable不允许。

servlet非线程安全,servlet在tomcat中是单例的,即当每个线程访问servlet时修改的是同一个对象

2、货币计算使用float、double是否合适,解决方案?
答:float、double很显然精度不足,可以使用java提供的java.math.BigDecimal,使用BigDecimal
详情可参考文章:https://www.cnblogs.com/LeoBoy/p/6056394.html

3、Checked Exception、Unchecked Exception的区别。
答:Checked Exception是Java的设计者要求你的程序去处理的。这种异常一般不会影响程序的主体,容易手动诊断修复,所以Java要求你在catch下面写出处理的代码。这一类就是你在代码处理了Checked Exception之后,你在运行时候依然会遇到的exception,所以又叫做RunTimeException。

4、返回值为数组时,返回null还是0长度数组?
答:4.返回0长度,因为如果是null的话可能会出现空指针异常,并且0长度数组更好处理。

原文地址:https://www.cnblogs.com/blackjoyful/p/11546996.html