在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayList),程序的运行时性能会变得更好。() 正确答案: B 你的答案: A (错误)
正确 错误
泛型仅仅是java的语法糖,它不会影响java虚拟机生成的汇编代码,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度稍微慢一些,执行速度是完全没有什么区别的.
正确答案: D 你的答案: A (错误)
BD DB C 编译错误
在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用”super(参数或无参数)”指定调用父类构造器时,是默认调用父类的无参构造器,如果父类中包含有参构造器,却没有无参构造器,则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器,不然就会报错。
在java7中,下列不能做switch()的参数类型是? 正确答案: D 你的答案: B C D (错误)
整型 枚举类型 字符串 浮点型
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long、float、double类型不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。 注意:String类型是Java7开始支持的。
已知如下类定义: class Base { public Base (){ //… } public Base ( int m ){ //… } public void fun( int n ){ //… } } public class Child extends Base{ // member methods } 如下哪句可以正确地加入子类中? 正确答案: D 你的答案: B D (错误)
private void fun( int n ){ //…} void fun ( int n ){ //… } protected void fun ( int n ) { //… } public void fun ( int n ) { //… }
A,B,C都会提示如下信息: Cannot reduce the visibility of the inherited method from Base 意思就是告诉你:不能降低从基类继承的方法的可见性。 那么,为什么不能降低可见性呢? 因为,每个子类的实例都应该是一个基类的有效实例,如果降低了方法的可见性,那么就相当于子类失去了一个父类的方法,这个时候,父类将不是一个有效的基类。 参考:http://stackoverflow.com/questions/1600667/why-cant-you-reduce-the-visibility-of-a-method-in-a-java-subclass
下列哪种说法是正确的? 正确答案: C 你的答案: A (错误)
实例方法可直接调用超类的实例方法 实例方法可直接调用超类的类方法 实例方法可直接调用本类的类方法 实例方法可直接调用其他类的实例方法
解释: a.实例方法可以调用超类公有实例方法 b.实例方法可以直接调用超类的公有类方法 d.实例方法可以通过类名调用其他类的类方法
java 接口的修饰符可以为() 正确答案: D 你的答案: B (错误)
private protected final abstract
接口不是类,是对类的一组需求描述。 接口不能提供实现方法,可以把接口看成是没有实例域的抽象类。 接口中的方法默认都是public abstract (void/int/..) method; 域默认都是public static final,即属性均为常量。
考虑下面这个简单的例子,让我们看看reflection是如何工作的。
import java.lang.reflect.*; public class DumpMethods{ public static void main(String[] args) { try { Class c=Class.forName(args[0]); Method m[]=c.getDeclaredMethods(); for (int i = 0; i < m.length; i++) { System.out.println(m[i].toString()); } } catch (Throwable e) { System.err.println(e); } } } 其中”c.getDeclaredMethods”的作用是: 正确答案: D 你的答案: C (错误)
取得类的公有方法对象 取得类的所有公有方法名称 取得类的所有方法对象 以上选项都不正确
public Method[] getDeclaredMethods()返回类或接口声明的所有方法,包括public, protected, default (package) 访问和private方法的Method对象,但不包括继承的方法。当然也包括它所实现接口的方法。
public Method[] getMethods()返回类的所有public方法,包括其继承类的公用方法,当然也包括它所实现接口的方法。
对于JVM内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 ,其最小内存值和Survivor区总大小分别是() 正确答案: D 你的答案: C (错误)
5120m,1024m 5120m,2048m 10240m,1024m 10240m,2048m
-Xmx10240m:代表最大堆 -Xms10240m:代表最小堆 -Xmn5120m:代表新生代 -XXSurvivorRatio=3:代表Eden:Survivor = 3 根据Generation-Collection算法(目前大部分JVM采用的算法),一般根据对象的生存周期将堆内存分为若干不同的区域,一般情况将新生代分为Eden ,两块Survivor; 计算Survivor大小, Eden:Survivor = 3,总大小为5120,3x+x+x=5120 x=1024 新生代大部分要回收,采用Copying算法,快! 老年代 大部分不需要回收,采用Mark-Compact算法