1、java有8种基本类型,请问byte、int、long、char、float、double、boolean各占多少个字节?
正确答案: B 你的答案: B (正确)
1 2 8 2 4 8 1
1 4 8 2 4 8 1
1 4 4 2 4 4 2
1 4 4 2 4 8 2
题解:
我这里解释一下boolean占多大的空间,JVM规范给出的是4个字节也就是单个boolean当做int处理,boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,1个字节、4个字节都是有可能的。其实这就是运算效率与存储空间之间的博弈
2、在 Applet 中,方法执行的顺序是 ?( )
正确答案: A 你的答案: A (正确)
init(), start(), paint(),stop(),destroy().
init(),paint(),start(),stop(),destroy().
paint(),start(),stop(),destroy().
init(), start(),stop(),destroy(),paint().
题解:
init 初始化,start启动运行,paint 窗口最小化等时候需要暂停,stop 停止,destory 销毁;
3、下面论述正确的是()?
正确答案: D 你的答案: D (正确)
如果两个对象的hashcode相同,那么它们作为同一个HashMap的key时,必然返回同样的值
如果a,b的hashcode相同,那么a.equals(b)必须返回true
对于一个类,其所有对象的hashcode必须不同
如果a.equals(b)返回true,那么a,b两个对象的hashcode必须相同
题解:
hashcode和equals的约定关系如下:
1、如果两个对象equals相等,那么他们一定有相同的哈希值(hash code)。
2、如果两个对象的哈希值相等,那么这两个对象有可能相等也有可能不相等。(需要再通过equals来判断)
4、在java中,下列对继承的说法,正确的是( )
正确答案: A 你的答案: A(正确)
子类能继承父类的所有成员
子类继承父类的非私有方法和状态
子类只能继承父类的public方法和状态
子类只能继承父类的方法
题解:
我们有时候会分不清继承和访问权限的问题。子类可以继承父类所有的成员,但是对private这样的,没有访问权。
5、在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象
正确答案: C 你的答案: C(正确)
Servlet对象
HTTP服务器
Web容器
JSP网页
题解:
web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。
6、对Collection和Collections描述正确的是
正确答案: B D 你的答案: B D(正确)
Collection是java.util下的类,它包含有各种有关集合操作的静态方法
Collection是java.util下的接口,它是各种集合结构的父接口
Collections是java.util下的接口,它是各种集合结构的父接口
Collections是java.util下的类,它包含有各种有关集合操作的静态方法
题解:
java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
7、在 hibernate 开发中,关于 POJO 类对象的状态说法正确的是()。
正确答案: A B C 你的答案: A B C (正确)
自由状态(Transient):实体在内存中自由存在,与数据库中的记录无关
持久状态(Persistent):实体处于由Hibernate框架所管理的状态,对应了数据库中的一条记录,同时与某个session实例发生了关联
游离状态(Detached):在session 关闭之后,可以使对象从持久状态转换到游离状态。
不能将对象从游离状态转换成持久态
题解:
游离状态 可以通过 update saveorupdate lock方法变成持久态
8、下列关于while循环、do-while循环和for循环说法错误的是
正确答案: B C 你的答案: B C(正确)
while循环先执行条件判断,do-while循环执行循环体
do-while循环结束的条件是关键字while后的条件表达式成立
for循环结构中的3个表达式缺一不可
while循环能够实现的操作,for循环也能实现
题解:
A.while只有在满足条件时执行 而do-while会先执行一次 再看条件是否满足 满足再次循环 不满足跳出
所以B也就错了 应该是 do-while循环结束的条件是关键字while后的条件表达式不成立
C. 三个都为空也是可以的 最简洁形式:for(;;😉
D. 我们使用while 就是为了他的循环次数的不一定的 而for循环一般限定了循环次数
9、关于下面这段Java程序,哪些描述是正确的:( )
public class ThreadTest extends Thread {
public void run() {
System.out.println(“In run”);
yield();
System.out.println(“Leaving run”);
}
public static void main(String []argv) {
(new ThreadTest()).start();
}
}
正确答案: C 你的答案: C (正确)
程序运行输出只有In run
程序运行输出只有Leaving run
程序运行输出先有In run后有Leaving run
程序运行输出先有Leaving run后有In run
程序没有任何输出就退出了
程序将被挂起,只能强制退出
题解:
yield是线程礼让, 没有多个线程,不需要礼让
10、在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯();当N=9时呢?
正确答案: B C 你的答案: B C (正确)
11
144
55
89
题解:
f(n)=f(n-2)+f(n-1),斐波那契数列。
答案汇总:
1、正确答案: B
2、正确答案: A
3、正确答案: D
4、正确答案: A
5、正确答案: C
6、正确答案: B D
7、正确答案: A B C
8、正确答案: B C
9、正确答案: C
10、正确答案: B C
以上部分题解来自牛客评论区,感谢评论区大佬的解释。