目录1、java中,用( )关键字定义常量?2、以下代码的循环次数是3、下面代码的执行结果是 :4、如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是? ( )5、下面的输出结果是什么?6、以下JAVA程序代码的输出是7、Which method you define as the starting point of new thread in a class from which n thread can be execution?8、Java1.8之后,Java接口的修饰符可以为()9、假如某个JAVA进程的JVM参数配置如下:10、在Struts框架中如果要使用Validation作验证的话,需要使用以下哪个Form?总结
1、java中,用( )关键字定义常量?
正确答案: A
final
#define
float
const
题解:A:final修饰变量,表示变量的指向(引用地址)不可变。B:#define,Java中没这个东西。C:单精度浮点。D:const,这是个保留关键字,和goto一样。暂时没有用,是C和C++中的常量关键字。
2、以下代码的循环次数是
public class Test {public static void main(String args[]) {int i = 7;do {System.out.println(--i); --i;} while (i != 0);System.out.println(i);}}
正确答案: D
0
1
7
无限次
题解:会先执行do循环体一次,再判断while里的判断条件是否成立,如果成立继续,不成立退出,单独的–i和i–没有区别,但是在表达式中,–i会先进行自减再执行语句,而i–是先执行语句再进行自减,这一题每次循环执行输出语句时i自减1,执行–i时再次自减1,每次循环减2,总值为7,第四次执行循环时,i=-1,不等于0,所以会无限次循环。
3、下面代码的执行结果是 :
class Chinese{
private static Chinese objref =new Chinese();
private Chinese(){}
public static Chinese getInstance() { return objref; }
}
public class TestChinese {
public static void main(String [] args) {
Chinese obj1 = Chinese.getInstance();
Chinese obj2 = Chinese.getInstance();
System.out.println(obj1 == obj2);
}
}
正确答案: A
true
false
TRUE
FALSE
题解:饿汉式单例模式,在类创建时,就已经实例化完成,在调用Chinese.getInstance()时,直接获取静态对象,obj1和obj2其实是一个对象,应该返回true。
4、如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是? ( )
正确答案: C
protected void setColor() { …}
void setColor() { …}
public void setColor() { …}
以上语句都可以用在类BlueGlass中
题解:接口中属性为public static final。方法为public abstract,子类的权限不能比父类更低。
5、下面的输出结果是什么?
public class Demo {
public static void main(String args[])
{
String str=new String(“hello”);
if(str==“hello”)
{
System.out.println(“true”);
}
else {
System.out.println(“false”);
}
}
}
正确答案: B
true
false
题解:==用来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不要求数据类型严格相同),则只要两个变量的值相等,就返回true;对于两个引用类型变量,必须指向同一个对象,==才会返回true。==判断的是对象引用地址是否相同,String str=new String(“hello”);这句话new了一个新的String对象,所以地址与”hello”字符串常量的地址不同,答案为false,如果判断字符串是否相等应给用str.equals(“hello”)方法。
6、以下JAVA程序代码的输出是
public static void main(String args[]) {
System.out.println(14^3);
}
正确答案: B
2744
13
17
11
题解:^表示异或 就是相同是0 不同是114是11103是0011所以14^3=1101,即13
7、Which method you define as the starting point of new thread in a class from which n thread can be execution?
翻译:在一个可以执行n个线程的类中,哪个方法定义为新线程的起点?
正确答案: B
public void start()
public void run()
public void int()
public static void main(String args[])
public void runnable()
题解:问线程执行的入口,start()是启动该线程的方法,是启动的动作,run方法就是线程执行的入口。
8、Java1.8之后,Java接口的修饰符可以为()
正确答案: D
private
protected
final
abstract
题解:接口是一种特殊的抽象类,先说明抽象类中的抽象方法,再说明接口抽象类中的抽象方法(其前有 abstract1修饰)不能用 private、 static、 synchronized、native访回修饰符修饰。原因如下:1、private抽象方法没有方法体,是用来被继承的,所以不能用 private修饰。2、staticstatic修饰的方法可以通过类名来访间该方法(即该方法的方法体),抽象方法用sttic修饰没有意义。3.、synchronized该关键字是为该方法加一个锁。而如果该关键字修饰的方法是 static方法。则使用的锁就是class变量的锁。如果是修饰类方法。则用this变量锁。但是抽象类不能实例化对象,因为该方法不是在该抽象类中实现的。是在其子类实现的。所以,锁应该归其子类所有。所以,抽象方法也就不能用 synchronized关键字修饰了。4、nativenative这个东西本身就和 abstract冲突,他们都是方法的声明,只是一个把方法实现移交给子类,另一个是移交给本地操作系统。如果同时出现,就相当于即把实现移交给子类,又把实现移交给本地操作系统,那到底谁来实现具体方法呢?接口是一种特殊的抽象类,接口中的方法全部是抽象方法(但其前的 abstract可以省略),所以抽象类中的抽象方法不能用的访间修饰符这里也不能用。同时额外说明一下protect关键词5、protectprotected访同修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子类,但是要用public去修饰。接口可以去继承一个已有的接口。
9、假如某个JAVA进程的JVM参数配置如下:
-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
请问eden区最终分配的大小是多少?
正确答案: C
64M
500M
300M
100M
题解:先分析一下里面各个参数的含义:-Xms:1G , 就是说初始堆大小为1G-Xmx:2G , 就是说最大堆大小为2G-Xmn:500M ,就是说年轻代大小是500M(包括一个Eden和两个Survivor)-XX:MaxPermSize:64M , 就是说设置持久代最大值为64M-XX:+UseConcMarkSweepGC , 就是说使用使用CMS内存收集算法-XX:SurvivorRatio=3 , 就是说Eden区与Survivor区的大小比值为3:1:1题目中所问的Eden区的大小是指年轻代的大小,直接根据-Xmn:500M和-XX:SurvivorRatio=3可以直接计算得出500M*(3/(3+1+1))=500M*(3/5)=500M*0.6=300M所以Eden区域的大小为300M。
10、在Struts框架中如果要使用Validation作验证的话,需要使用以下哪个Form?
正确答案: D
ActionForm
ValidatorActionForm
ValidatorForm
DynaValidatorActionForm
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!
每一件事都要用多方面的角度来看它