1.下面的运行结果为
public class Demo{
int x=1;
int y;
public static void main(String [] args){
int z=2;
Demo t=new Demo();
System.out.println(t.x+t.y+z);
}
}
2.在socket编程中,可以使用方法( )获取本机的ip地址
A.getInetAddress()
B.getLocalAddress()
C.getReuseAddress()
D.getLocalPort()
3.Java1.8之后,Java接口的修饰符可以为()
A.private
B.protected
C.final
D.abstract
4.下面的运行结果为
public class Person{
private String name = "Person";
int age=0;
}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child();
System.out.println(p.name);
}
}
5.下面代码输出结果为
public class TestDemo
{
public static String output = "";
public static void foo(inti)
{
try
{
if (i == 1)
{
throw new Exception();
}
}
catch (Exception e)
{
output += "2";
return ;
} finally
{
output += "3";
}
output += "4";
}
public static void main(String[] args)
{
foo(0);
foo(1);
System.out.println(output);
}
}
6.下列不属于类及类成员的访问控制符是:( )
A.public
B.private
C.static
D.protected
7.下面语句正确的是()
A.x+1=5
B.i++=1
C.a++b=1
D.x+=1
8.下面输出结果为
class Foo {
final int i;
int j;
public void doSomething() {
System.out.println(++j + i);
}
}
9.off-heap是指那种内存()
A.JVM GC能管理的内存
B.JVM进程管理的内存
C.在JVM老年代内存区
D.在JVM新生代内存
10.下面输出为
double d1=-0.5;
System.out.println("Ceil d1="+Math.ceil(d1));
System.out.println("floor d1="+Math.floor(d1));
(1)A
int 类变量初始值0
boolean 类变量初始值false
char 类变量初始值’\u0000’
double 类变量初始值0.0
float 类变量初始值0.0f
long 类变量初始值0L
(2)B
getInetAddress获取主机名和IP地址
getLocalAddress()顾名思义,获取本地IP地址
getReuseAddress()返回布尔类型,表示复用地址
getLocalPort()API 的说明:“Returns the Internet Protocol (IP) port number of the interface on which the request was received. ”
(3)D
(4)C
Java中对字段属性是静态绑定,方法成员是动态绑定,这里错在:在子类中试图访问父类的private字段,所以编译不通过,将private去掉就可访问,不是动态绑定的问题,它本来就属于静态绑定。
(5)答案:B
首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,
所以 output += “3”;然后是 output += “4”;
执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;
前面说过finally是必执行的,即使return也会执行output += “3”
由于catch代码块中有return语句,最后一个output += “4”不会执行。
所以结果是3423
(6)C
(7)选D,+=,-=,*=,/=最常见。
ABC都编译错误。
(8)不能执行,因为编译有错
final变量有三种初始化方式( 只要在其对象实例化之前对其赋值即可 ):
- 在定义变量时直接赋值;
- 声明完变量后在构造方法中为其赋值 ;
- 声明完变量后在构造代码块中为其赋值;
(9)B
off-heap叫做堆外内存,将你的对象从堆中脱离出来序列化,然后存储在一大块内存中,这就像它存储到磁盘上一样,但它仍然在RAM中。对象在这种状态下不能直接使用,它们必须首先反序列化,也不受垃圾收集。序列化和反序列化将会影响部分性能(所以可以考虑使用FST-serialization)使用堆外内存能够降低GC导致的暂停。堆外内存不受垃圾收集器管理,也不属于老年代,新生代。
(10)A
ceil:大于等于 x,并且与它最接近的整数。
floor:小于等于 x,且与 x 最接近的整数。