海康威视19秋招Java,答案自己做的不保证对,主要分享题目
一、选择题
1、访问修饰符作用范围由大到小是( A )
A.private-default-protected-public
B.public-protected-default-private
C.public-default-protected-private
D.private-protected-default-public
2、public class Demo{
public int add(int a,int b){
try{
return a+b;
}catch(Exception e){
System.out.println(“catch 语句块”);
}finally{
System.out.println("finally 语句块“);
}
return 0;
}
public static void main(String[ ] args){
Demo demo = new Demor();
System.out.println(“和是:”+demo,add(9,34));
}
}A
A. finslly语句块和是:43
B. 编译异常
C. 和是:43 finslly语句块
D. catch语句块和是:43
3、下面代码的结果是(A)
public class Test {
public int aMethod(){
static int i= 0;
i++;
return i;
}
public static void main (String args[ ]){
Test test = new Test();
Test.aMethod();
int j = test.aMethod();
System.out.println(j);
}
}
A.1
B.编译失败
C.2
D.0
4、以下代码哪种执行结果是正确的(C)
Public class Test{
Public static void main(String[ ]args)
{
String str1="hello”;
String str2="he” +new String( "lo”);
System.err.println(str1==str2);
}
}
A. 可以编译,执行时没有任何输出
B. 不可以编译
C. 可以编译,但是执行时结果false
D. 编译时出错
E. 可以编译,执行时输出结果true
5、下面程序输出的结果是什么C
public class Demo {
static int x = 1;
static int test(){
try {
return x++;
} finally {
++x;
}
}
public static void main(String[ ] args){
Demo.test();
System.out.println(Demo.x);
}
}
A.1
B.4
C.3
D.2
6、抽象方法能被下F列娜个修怖符修怖?(A)
A.public
B.synchronized
C.static
D.volatile
7、以下代码的执行结果是( D)
public class TS {
public void cal(int a, int b) {
System.out.print(1);
}
public void cal(int a, int b, int c) {
System.out.print(2);
}
public void cal(int a, int... b) {
System.out.print(3);
}
public static void main(String args[ ]){
TS t = new TS();
t.cal(1);
t.cal(1,1);
t.cal(1,1,1);
}
}
A.312
B.313
C.333
D.编译时出错
8、对Java虚拟机设定Java heap最大为4GB,最小为2GB. 同时新生代为1GB,可以使用以下哪种参数 ( A )
A.-Xmx4g -Xms2g -Xmn1g
B.-Xmx4g -Xms1g -Xmn2g
C.-Xmx2g -Xms1g -Xmn4g
D.-Xmx2g -Xms4g -Xmn1g
9、以下说法中不正确的是( A )
A.volatile关键字保证可见性
B.StringBuilder是线程不安全的
C.volatile关键字保证对变量操作的原子性
D.String是线程安全的
10、JAVA接口中的方法声明不能是( C )
A.protected
B.public
C.abstract
D.default
11、在多个线程访问同个资源时,可以使用( C )关键字来实现线程同步,保证对资源安全访问。
A.Transient
B.Yield
C.Synchronized
D.Static
12、分析以下代码的输出结果是( A )
public class TR {
public static void main(String[ ] args){
Semaphore semaphore = new Semaphore(2);
new Thread(()-> {
try {
if (semaphore.tryAcquir(3)) System.out.print(1);
else System.out.print(2);
Threadsleep(1000);
}catch (InterruptedException e){
}
}).start():
new Thread(()-> {
try {
Thread.sleep(200);
if (semaphore.tryAquire()) System,out.print(3);
else System.out.print(4);
} catch (lnterruptedException e) {
}
}).start0;
}
}
A.23
B.13
C.24
D.14
13、以下那个关键字不能直接出现在WHERE子句中( C )
A.LIKE
B.GROUP BY
C.ORDER BY
D.SUM
14、在J2EE中属于Web层的组件有( D )
A.Applet
B.HTML
C.EJB
D.Servlet
15、用户向服务器请求个没有权限的页面时,服务器般会返回什么错误码?B
A.500
B.403
C.200
D.302
16、以下中些是线程的基本状态(ABC
A.阻塞
B.运行
C.就绪
D.中断
17、以下属于运行时异常的有(ABCD )
A.NosuchMethodException
B.ClassCastException
C.ArrayIndexOutOfBoundsxcpto
D.NullpointException
18、定义整形变量:int n=456;表达式的值不为5的是ABD
A.n/10
B.(n-n/100*100/10
C.n/10%10
D.n%10
19、java中 String str = “hello world” 下列语句错误的是?AD
A.int strlen = str.length
B.str+=‘ a’
C.str=str+ 100
D.str=100
20、以下关于拦载器和过冰器的描述正确的是(C )
A.拦载器可以被调用多次,过滤器只能被调用次
B.拦载器是在Servlet之前触发的,而过滤器是在Servlet之后触发的
C.拦截器是基于java的反射机制的,而过滤器是基于函数回调
D.过滤器是在web.xml中声明的,拦载器是在struts中声明的
二、简单题和编程题
21编写几种单例模式,并描述各自的优缺点
22、一个数如果恰好等于它的因子之和,这个数就称为“完数“,例如6的因子为1,2,3,而6=1+2+3,因此6是”完数“,编写一个小应用程序求1000之内所有的完数